Lines Matching refs:uprobes
3036 struct bpf_uprobe *uprobes; member
3046 static void bpf_uprobe_unregister(struct path *path, struct bpf_uprobe *uprobes, in bpf_uprobe_unregister() argument
3052 uprobe_unregister(d_real_inode(path->dentry), uprobes[i].offset, in bpf_uprobe_unregister()
3053 &uprobes[i].consumer); in bpf_uprobe_unregister()
3062 bpf_uprobe_unregister(&umulti_link->path, umulti_link->uprobes, umulti_link->cnt); in bpf_uprobe_multi_link_release()
3073 kvfree(umulti_link->uprobes); in bpf_uprobe_multi_link_dealloc()
3169 struct bpf_uprobe *uprobes = NULL; in bpf_uprobe_multi_link_attach() local
3235 uprobes = kvcalloc(cnt, sizeof(*uprobes), GFP_KERNEL); in bpf_uprobe_multi_link_attach()
3237 if (!uprobes || !link) in bpf_uprobe_multi_link_attach()
3247 if (ucookies && __get_user(uprobes[i].cookie, ucookies + i)) { in bpf_uprobe_multi_link_attach()
3255 if (__get_user(uprobes[i].offset, uoffsets + i)) { in bpf_uprobe_multi_link_attach()
3260 uprobes[i].link = link; in bpf_uprobe_multi_link_attach()
3263 uprobes[i].consumer.ret_handler = uprobe_multi_link_ret_handler; in bpf_uprobe_multi_link_attach()
3265 uprobes[i].consumer.handler = uprobe_multi_link_handler; in bpf_uprobe_multi_link_attach()
3268 uprobes[i].consumer.filter = uprobe_multi_link_filter; in bpf_uprobe_multi_link_attach()
3272 link->uprobes = uprobes; in bpf_uprobe_multi_link_attach()
3281 uprobes[i].offset, in bpf_uprobe_multi_link_attach()
3283 &uprobes[i].consumer); in bpf_uprobe_multi_link_attach()
3285 bpf_uprobe_unregister(&path, uprobes, i); in bpf_uprobe_multi_link_attach()
3299 kvfree(uprobes); in bpf_uprobe_multi_link_attach()