Em Tue, Aug 15, 2023 at 07:34:08AM -0700, Ian Rogers escreveu: > On Tue, Aug 15, 2023, 7:25 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > > bpf_object__for_each_program(prog, trace.skel->obj) { > > if (prog != trace.skel->progs.sys_enter && prog != > > trace.skel->progs.sys_exit) > > bpf_program__set_autoattach(prog, > > /*autoattach=*/false); > > } > > > > So that we don't have to add new lines disabling attachment when adding > > support for other pointer receiving syscalls. > Makes sense. Thanks, Just taking notes about things to work on top of what is in tmp.perf-tools-next, that will move to perf-tools-next soon: We need to make these libbpf error messages appear only in verbose mode, and probably have a hint about unprivileged BPF, a quick attempt failed after several attempts at getting privileges :-\ Probably attaching to tracepoints is off limits to !root even with /proc/sys/kernel/unprivileged_bpf_disabled set to zero. [acme@quaco perf-tools-next]$ perf trace ls libbpf: Failed to bump RLIMIT_MEMLOCK (err = -1), you might need to do it explicitly! libbpf: Error in bpf_object__probe_loading():Operation not permitted(1). Couldn't load trivial BPF program. Make sure your kernel supports BPF (CONFIG_BPF_SYSCALL=y) and/or that RLIMIT_MEMLOCK is set to big enough value. libbpf: failed to load object 'augmented_raw_syscalls_bpf' libbpf: failed to load BPF skeleton 'augmented_raw_syscalls_bpf': -1 Error: No permissions to read /sys/kernel/tracing//events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/' [acme@quaco perf-tools-next]$ [acme@quaco perf-tools-next]$ perf trace -e open* sleep 1 libbpf: Failed to bump RLIMIT_MEMLOCK (err = -1), you might need to do it explicitly! libbpf: Error in bpf_object__probe_loading():Operation not permitted(1). Couldn't load trivial BPF program. Make sure your kernel supports BPF (CONFIG_BPF_SYSCALL=y) and/or that RLIMIT_MEMLOCK is set to big enough value. libbpf: failed to load object 'augmented_raw_syscalls_bpf' libbpf: failed to load BPF skeleton 'augmented_raw_syscalls_bpf': -1 Error: No permissions to read /sys/kernel/tracing//events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/' [acme@quaco perf-tools-next]$ sudo mount -o remount,mode=755 /sys/kernel/tracing/ [sudo] password for acme: [acme@quaco perf-tools-next]$ perf trace -e open* sleep 1 libbpf: Failed to bump RLIMIT_MEMLOCK (err = -1), you might need to do it explicitly! libbpf: Error in bpf_object__probe_loading():Operation not permitted(1). Couldn't load trivial BPF program. Make sure your kernel supports BPF (CONFIG_BPF_SYSCALL=y) and/or that RLIMIT_MEMLOCK is set to big enough value. libbpf: failed to load object 'augmented_raw_syscalls_bpf' libbpf: failed to load BPF skeleton 'augmented_raw_syscalls_bpf': -1 Error: No permissions to read /sys/kernel/tracing//events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/' [acme@quaco perf-tools-next]$ sudo mount -o remount,mode=755 /sys/kernel/debug [acme@quaco perf-tools-next]$ perf trace -e open* sleep 1 libbpf: Failed to bump RLIMIT_MEMLOCK (err = -1), you might need to do it explicitly! libbpf: Error in bpf_object__probe_loading():Operation not permitted(1). Couldn't load trivial BPF program. Make sure your kernel supports BPF (CONFIG_BPF_SYSCALL=y) and/or that RLIMIT_MEMLOCK is set to big enough value. libbpf: failed to load object 'augmented_raw_syscalls_bpf' libbpf: failed to load BPF skeleton 'augmented_raw_syscalls_bpf': -1 Error: No permissions to read /sys/kernel/tracing//events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/' [acme@quaco perf-tools-next]$ sudo sh -c "echo 0 > /proc/sys/kernel/unprivileged_bpf_disabled" [acme@quaco perf-tools-next]$ perf trace -e open* sleep 1 libbpf: prog 'syscall_unaugmented': BPF program load failed: Operation not permitted libbpf: prog 'syscall_unaugmented': failed to load: -1 libbpf: failed to load object 'augmented_raw_syscalls_bpf' libbpf: failed to load BPF skeleton 'augmented_raw_syscalls_bpf': -1 Error: No permissions to read /sys/kernel/tracing//events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/' [acme@quaco perf-tools-next]$ cat /proc/sys/kernel/unprivileged_bpf_disabled 0 [acme@quaco perf-tools-next]$ [acme@quaco perf-tools-next]$ [acme@quaco perf-tools-next]$ cat /proc/sys/kernel/perf_event_paranoid 2 [acme@quaco perf-tools-next]$ sudo sh -c "echo -1 > /proc/sys/kernel/perf_event_paranoid" [acme@quaco perf-tools-next]$ perf trace -e open* sleep 1 libbpf: prog 'syscall_unaugmented': BPF program load failed: Operation not permitted libbpf: prog 'syscall_unaugmented': failed to load: -1 libbpf: failed to load object 'augmented_raw_syscalls_bpf' libbpf: failed to load BPF skeleton 'augmented_raw_syscalls_bpf': -1 Error: No permissions to read /sys/kernel/tracing//events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/' [acme@quaco perf-tools-next]$