Lines Matching refs:uprobes

3151 	struct bpf_uprobe *uprobes;  member
3161 static void bpf_uprobe_unregister(struct bpf_uprobe *uprobes, u32 cnt) in bpf_uprobe_unregister() argument
3166 uprobe_unregister_nosync(uprobes[i].uprobe, &uprobes[i].consumer); in bpf_uprobe_unregister()
3177 bpf_uprobe_unregister(umulti_link->uprobes, umulti_link->cnt); in bpf_uprobe_multi_link_release()
3188 kvfree(umulti_link->uprobes); in bpf_uprobe_multi_link_dealloc()
3246 put_user(umulti_link->uprobes[i].offset, uoffsets + i)) in bpf_uprobe_multi_link_fill_link_info()
3249 put_user(umulti_link->uprobes[i].ref_ctr_offset, uref_ctr_offsets + i)) in bpf_uprobe_multi_link_fill_link_info()
3252 put_user(umulti_link->uprobes[i].cookie, ucookies + i)) in bpf_uprobe_multi_link_fill_link_info()
3364 struct bpf_uprobe *uprobes = NULL; in bpf_uprobe_multi_link_attach() local
3430 uprobes = kvcalloc(cnt, sizeof(*uprobes), GFP_KERNEL); in bpf_uprobe_multi_link_attach()
3432 if (!uprobes || !link) in bpf_uprobe_multi_link_attach()
3436 if (__get_user(uprobes[i].offset, uoffsets + i)) { in bpf_uprobe_multi_link_attach()
3440 if (uprobes[i].offset < 0) { in bpf_uprobe_multi_link_attach()
3444 if (uref_ctr_offsets && __get_user(uprobes[i].ref_ctr_offset, uref_ctr_offsets + i)) { in bpf_uprobe_multi_link_attach()
3448 if (ucookies && __get_user(uprobes[i].cookie, ucookies + i)) { in bpf_uprobe_multi_link_attach()
3453 uprobes[i].link = link; in bpf_uprobe_multi_link_attach()
3456 uprobes[i].consumer.handler = uprobe_multi_link_handler; in bpf_uprobe_multi_link_attach()
3458 uprobes[i].consumer.ret_handler = uprobe_multi_link_ret_handler; in bpf_uprobe_multi_link_attach()
3460 uprobes[i].session = true; in bpf_uprobe_multi_link_attach()
3462 uprobes[i].consumer.filter = uprobe_multi_link_filter; in bpf_uprobe_multi_link_attach()
3466 link->uprobes = uprobes; in bpf_uprobe_multi_link_attach()
3475 uprobes[i].uprobe = uprobe_register(d_real_inode(link->path.dentry), in bpf_uprobe_multi_link_attach()
3476 uprobes[i].offset, in bpf_uprobe_multi_link_attach()
3477 uprobes[i].ref_ctr_offset, in bpf_uprobe_multi_link_attach()
3478 &uprobes[i].consumer); in bpf_uprobe_multi_link_attach()
3479 if (IS_ERR(uprobes[i].uprobe)) { in bpf_uprobe_multi_link_attach()
3480 err = PTR_ERR(uprobes[i].uprobe); in bpf_uprobe_multi_link_attach()
3493 bpf_uprobe_unregister(uprobes, link->cnt); in bpf_uprobe_multi_link_attach()
3496 kvfree(uprobes); in bpf_uprobe_multi_link_attach()