libbpf: add support for sleepable uprobe programs
Add section mappings for u(ret)probe.s programs. Acked-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Delyan Kratunov <delyank@fb.com> Link: https://lore.kernel.org/r/aedbc3b74f3523f00010a7b0df8f3388cca59f16.1655248076.git.delyank@fb.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
64ad7556c7
commit
c4cac71fc8
@ -9177,8 +9177,10 @@ static const struct bpf_sec_def section_defs[] = {
|
||||
SEC_DEF("sk_reuseport", SK_REUSEPORT, BPF_SK_REUSEPORT_SELECT, SEC_ATTACHABLE | SEC_SLOPPY_PFX),
|
||||
SEC_DEF("kprobe+", KPROBE, 0, SEC_NONE, attach_kprobe),
|
||||
SEC_DEF("uprobe+", KPROBE, 0, SEC_NONE, attach_uprobe),
|
||||
SEC_DEF("uprobe.s+", KPROBE, 0, SEC_SLEEPABLE, attach_uprobe),
|
||||
SEC_DEF("kretprobe+", KPROBE, 0, SEC_NONE, attach_kprobe),
|
||||
SEC_DEF("uretprobe+", KPROBE, 0, SEC_NONE, attach_uprobe),
|
||||
SEC_DEF("uretprobe.s+", KPROBE, 0, SEC_SLEEPABLE, attach_uprobe),
|
||||
SEC_DEF("kprobe.multi+", KPROBE, BPF_TRACE_KPROBE_MULTI, SEC_NONE, attach_kprobe_multi),
|
||||
SEC_DEF("kretprobe.multi+", KPROBE, BPF_TRACE_KPROBE_MULTI, SEC_NONE, attach_kprobe_multi),
|
||||
SEC_DEF("usdt+", KPROBE, 0, SEC_NONE, attach_usdt),
|
||||
@ -11571,7 +11573,8 @@ static int attach_uprobe(const struct bpf_program *prog, long cookie, struct bpf
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
opts.retprobe = strcmp(probe_type, "uretprobe") == 0;
|
||||
opts.retprobe = strcmp(probe_type, "uretprobe") == 0 ||
|
||||
strcmp(probe_type, "uretprobe.s") == 0;
|
||||
if (opts.retprobe && offset != 0) {
|
||||
pr_warn("prog '%s': uretprobes do not support offset specification\n",
|
||||
prog->name);
|
||||
|
Loading…
x
Reference in New Issue
Block a user