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 <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
---
 tools/lib/bpf/libbpf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index 9ea41f40dc82..536c19c14d21 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -11835,7 +11835,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,
@@ -12825,7 +12825,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,
-- 
2.52.0


Reply via email to