bpf_strnstr(9)
π bpf_strnstr(9)
ok so this is a page from the Kernel API Manual (section 9, the kernel-funcs girlies β¨), and it's all about bpf_strnstr β the function that finds the first substring in a length-limited string. like strnstr but make it BPF π
β¨ NAME β¨
bpf_strnstr β find the first substring in a length-limited string π
πΈ SYNOPSIS πΈ
__bpf_kfunc int bpf_strnstr (const char *s1__ign , const char *s2__ign ,
size_t len );
π¦ ARGUMENTS π¦
s1__ignβ the string you're searching in, i.e. the one getting snooped through π΅οΈββοΈs2__ignβ the string you're searching for, the one you're hoping to find π―lenβ the maximum number of characters to search, so bestie you're only looking at the firstlenchars and nothing past that, periodt β
π RETURN π
>=0β the index of the first character of the first occurrence ofs2__ignwithin the firstlencharacters ofs1__ignπ₯³ found it!!-ENOENTβs2__ignwas not found in the firstlencharacters ofs1__ignπ it's not there, bestie-EFAULTβ cannot read one of the strings π something's unreachable-E2BIGβ one of the strings is too large, like it's giving too much π«-ERANGEβ one of the strings is outside of kernel address space π« not our territory
π SEE ALSO π
Kernel file ./kernel/bpf/helpers.c β and honestly the whole friend group is here, so let's give them all their moment π
bpf_obj_new(9)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_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)
ok that's the whole page bestie, no skips, no gatekeeping π«Ά
and that's a wrap!! this one lives in ./kernel/bpf and the version date on it is October 2026 β so yeah, bookmark it, screenshot it, send it to the group chat ππ mwah π
π¦ 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