diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2024-05-29 16:12:12 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-07-11 12:51:24 +0200 |
commit | e0f557ad555f0e71b630d5b4434dd564034e230d (patch) | |
tree | e7b9cfb5ce2409becf1d9dcc0b28c936ad41ca42 | |
parent | 165634c02d8584984f8a2dc8ab70e27e6890e581 (diff) |
libbpf: don't close(-1) in multi-uprobe feature detector
commit 7d0b3953f6d832daec10a0d76e2d4db405768a8b upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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; } |