diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2024-05-29 16:12:12 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2024-05-31 14:56:51 -0700 |
commit | 7d0b3953f6d832daec10a0d76e2d4db405768a8b (patch) | |
tree | 00bb24b6c4a1d0d8ee02f8072535e7fb3a7dd22e /tools/lib/bpf | |
parent | aeb8fe0283d4d3b0f27a87c5f5c938e7324f7d8f (diff) |
libbpf: don't close(-1) in multi-uprobe feature detector
Guard close(link_fd) with extra link_fd >= 0 check to prevent close(-1).
Detected by Coverity static analysis.
Fixes: 04d939a2ab22 ("libbpf: detect broken PID filtering logic for multi-uprobe")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/r/20240529231212.768828-1-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib/bpf')
-rw-r--r-- | tools/lib/bpf/features.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/lib/bpf/features.c b/tools/lib/bpf/features.c index 3df0125ed5fa..50befe125ddc 100644 --- a/tools/lib/bpf/features.c +++ b/tools/lib/bpf/features.c @@ -393,7 +393,8 @@ static int probe_uprobe_multi_link(int token_fd) err = -errno; /* close() can clobber errno */ if (link_fd >= 0 || err != -EBADF) { - close(link_fd); + if (link_fd >= 0) + close(link_fd); close(prog_fd); return 0; } |