]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
libbpf: Use direct error codes for kprobe/uprobe attach
authorHoyeon Lee <hoyeon.lee@suse.com>
Wed, 1 Apr 2026 14:29:29 +0000 (23:29 +0900)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 2 Apr 2026 20:23:19 +0000 (13:23 -0700)
perf_event_open_probe() and perf_event_{k,u}probe_open_legacy() helpers
are returning negative error codes directly on failure. This commit
changes bpf_program__attach_{k,u}probe_opts() to use those return
values directly instead of re-reading possibly changed errno.

Signed-off-by: Hoyeon Lee <hoyeon.lee@suse.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/bpf/20260401143116.185049-2-hoyeon.lee@suse.com
tools/lib/bpf/libbpf.c

index 58908546690395c9c83090ba3481b7a2c1c8f029..d9c678ed442e5281fb6cd7b965d5fd4b48fe6a02 100644 (file)
@@ -11862,7 +11862,7 @@ bpf_program__attach_kprobe_opts(const struct bpf_program *prog,
                                                    offset, -1 /* pid */);
        }
        if (pfd < 0) {
-               err = -errno;
+               err = pfd;
                pr_warn("prog '%s': failed to create %s '%s+0x%zx' perf event: %s\n",
                        prog->name, retprobe ? "kretprobe" : "kprobe",
                        func_name, offset,
@@ -12852,7 +12852,7 @@ bpf_program__attach_uprobe_opts(const struct bpf_program *prog, pid_t pid,
                                                    binary_path, func_offset, pid);
        }
        if (pfd < 0) {
-               err = -errno;
+               err = pfd;
                pr_warn("prog '%s': failed to create %s '%s:0x%zx' perf event: %s\n",
                        prog->name, retprobe ? "uretprobe" : "uprobe",
                        binary_path, func_offset,