Lines Matching refs:uprobes
2920 struct bpf_uprobe *uprobes; member
2930 static void bpf_uprobe_unregister(struct bpf_uprobe *uprobes, u32 cnt) in bpf_uprobe_unregister() argument
2935 uprobe_unregister_nosync(uprobes[i].uprobe, &uprobes[i].consumer); in bpf_uprobe_unregister()
2946 bpf_uprobe_unregister(umulti_link->uprobes, umulti_link->cnt); in bpf_uprobe_multi_link_release()
2957 kvfree(umulti_link->uprobes); in bpf_uprobe_multi_link_dealloc()
3015 put_user(umulti_link->uprobes[i].offset, uoffsets + i)) in bpf_uprobe_multi_link_fill_link_info()
3018 put_user(umulti_link->uprobes[i].ref_ctr_offset, uref_ctr_offsets + i)) in bpf_uprobe_multi_link_fill_link_info()
3021 put_user(umulti_link->uprobes[i].cookie, ucookies + i)) in bpf_uprobe_multi_link_fill_link_info()
3060 umulti_link->uprobes[i].cookie, in bpf_uprobe_multi_show_fdinfo()
3061 umulti_link->uprobes[i].offset, in bpf_uprobe_multi_show_fdinfo()
3062 umulti_link->uprobes[i].ref_ctr_offset); in bpf_uprobe_multi_show_fdinfo()
3177 struct bpf_uprobe *uprobes = NULL; in bpf_uprobe_multi_link_attach() local
3248 uprobes = kvzalloc_objs(*uprobes, cnt); in bpf_uprobe_multi_link_attach()
3250 if (!uprobes || !link) in bpf_uprobe_multi_link_attach()
3254 if (__get_user(uprobes[i].offset, uoffsets + i)) { in bpf_uprobe_multi_link_attach()
3258 if (uprobes[i].offset < 0) { in bpf_uprobe_multi_link_attach()
3262 if (uref_ctr_offsets && __get_user(uprobes[i].ref_ctr_offset, uref_ctr_offsets + i)) { in bpf_uprobe_multi_link_attach()
3266 if (ucookies && __get_user(uprobes[i].cookie, ucookies + i)) { in bpf_uprobe_multi_link_attach()
3271 uprobes[i].link = link; in bpf_uprobe_multi_link_attach()
3274 uprobes[i].consumer.handler = uprobe_multi_link_handler; in bpf_uprobe_multi_link_attach()
3276 uprobes[i].consumer.ret_handler = uprobe_multi_link_ret_handler; in bpf_uprobe_multi_link_attach()
3278 uprobes[i].session = true; in bpf_uprobe_multi_link_attach()
3280 uprobes[i].consumer.filter = uprobe_multi_link_filter; in bpf_uprobe_multi_link_attach()
3284 link->uprobes = uprobes; in bpf_uprobe_multi_link_attach()
3293 uprobes[i].uprobe = uprobe_register(d_real_inode(link->path.dentry), in bpf_uprobe_multi_link_attach()
3294 uprobes[i].offset, in bpf_uprobe_multi_link_attach()
3295 uprobes[i].ref_ctr_offset, in bpf_uprobe_multi_link_attach()
3296 &uprobes[i].consumer); in bpf_uprobe_multi_link_attach()
3297 if (IS_ERR(uprobes[i].uprobe)) { in bpf_uprobe_multi_link_attach()
3298 err = PTR_ERR(uprobes[i].uprobe); in bpf_uprobe_multi_link_attach()
3311 bpf_uprobe_unregister(uprobes, link->cnt); in bpf_uprobe_multi_link_attach()
3314 kvfree(uprobes); in bpf_uprobe_multi_link_attach()