Lines Matching defs:uprobes
3168 struct bpf_uprobe *uprobes;
3178 static void bpf_uprobe_unregister(struct path *path, struct bpf_uprobe *uprobes,
3184 uprobe_unregister(d_real_inode(path->dentry), uprobes[i].offset,
3185 &uprobes[i].consumer);
3194 bpf_uprobe_unregister(&umulti_link->path, umulti_link->uprobes, umulti_link->cnt);
3205 kvfree(umulti_link->uprobes);
3265 put_user(umulti_link->uprobes[i].offset, uoffsets + i))
3268 put_user(umulti_link->uprobes[i].ref_ctr_offset, uref_ctr_offsets + i))
3271 put_user(umulti_link->uprobes[i].cookie, ucookies + i))
3370 struct bpf_uprobe *uprobes = NULL;
3438 uprobes = kvcalloc(cnt, sizeof(*uprobes), GFP_KERNEL);
3440 if (!uprobes || !link)
3444 if (__get_user(uprobes[i].offset, uoffsets + i)) {
3448 if (uprobes[i].offset < 0) {
3452 if (uref_ctr_offsets && __get_user(uprobes[i].ref_ctr_offset, uref_ctr_offsets + i)) {
3456 if (ucookies && __get_user(uprobes[i].cookie, ucookies + i)) {
3461 uprobes[i].link = link;
3464 uprobes[i].consumer.ret_handler = uprobe_multi_link_ret_handler;
3466 uprobes[i].consumer.handler = uprobe_multi_link_handler;
3469 uprobes[i].consumer.filter = uprobe_multi_link_filter;
3473 link->uprobes = uprobes;
3483 uprobes[i].offset,
3484 uprobes[i].ref_ctr_offset,
3485 &uprobes[i].consumer);
3487 bpf_uprobe_unregister(&path, uprobes, i);
3499 kvfree(uprobes);