bpf_obj_new(9)
π NAME π
bpf_obj_new β bestie, this is the one that allocates an object described by program BTF β¨
πΈ SYNOPSIS πΈ
__bpf_kfunc void * bpf_obj_new (u64 local_type_id__k , struct btf_struct_meta *meta );
π ARGUMENTS π
local_type_id__kβ the type ID, but in program BTF. That's the ID you're feeding in, queen.metaβ the verifier-suppliedstructmetadata. The verifier hands this to you, okay? It's a whole thing.
π¦ DESCRIPTION π¦
Okay so picture this: you call this bad boy and it allocates an object of the type identified by local_type_id__k, then initializes its special fields. Like, it does the whole glow-up for you π
BPF programs can use bpf_core_type_id_local to provide local_type_id__k β that's literally the whole trick, iykyk.
And the meta? The verifier rewrites meta. BPF programs do not set it. Nope. Not your job, bestie. Don't touch it π
β RETURN β
A pointer to the allocated object, or NULL on failure. That's it, that's the vibe check π
π₯ SEE ALSO π₯
Kernel file ./kernel/bpf/helpers.c, plus the entire friend group:
bpf_percpu_obj_new(9)bpf_obj_drop(9)bpf_percpu_obj_drop(9)bpf_refcount_acquire(9)bpf_list_push_front(9)bpf_list_push_back(9)bpf_rbtree_add(9)bpf_task_acquire(9)bpf_task_release(9)bpf_cgroup_acquire(9)bpf_cgroup_release(9)bpf_cgroup_ancestor(9)bpf_cgroup_from_id(9)bpf_task_under_cgroup(9)bpf_task_get_cgroup1(9)bpf_task_from_pid(9)bpf_task_from_vpid(9)bpf_dynptr_slice(9)bpf_dynptr_slice_rdwr(9)bpf_dynptr_copy(9)bpf_dynptr_memset(9)bpf_iter_bits_new(9)bpf_iter_bits_next(9)bpf_iter_bits_destroy(9)bpf_copy_from_user_str(9)bpf_copy_from_user_task_str(9)bpf_strcmp(9)bpf_strcasecmp(9)bpf_strnchr(9)bpf_strchr(9)bpf_strchrnul(9)bpf_strrchr(9)bpf_strnlen(9)bpf_strlen(9)bpf_strspn(9)bpf_strcspn(9)bpf_strstr(9)bpf_strcasestr(9)bpf_strnstr(9)bpf_strncasestr(9)bpf_lookup_user_key(9)bpf_lookup_system_key(9)bpf_key_put(9)bpf_verify_pkcs7_signature(9)bpf_task_work_schedule_signal(9)bpf_task_work_schedule_resume(9)bpf_timer_cancel_async(9)
That's the whole page, bestie π«Ά it lives in ./kernel/bpf, it's dated October 2026, and it slayed the whole way through. Periodt. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms