From: Andrii Nakryiko <andrii@xxxxxxxxxx> 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@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: https://lore.kernel.org/r/20240529231212.768828-1-andrii@xxxxxxxxxx Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- tools/lib/bpf/features.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/tools/lib/bpf/features.c +++ b/tools/lib/bpf/features.c @@ -393,7 +393,8 @@ static int probe_uprobe_multi_link(int t 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; } Patches currently in stable-queue which might be from andrii@xxxxxxxxxx are queue-6.9/bpf-avoid-uninitialized-value-in-bpf_core_read_bitfi.patch queue-6.9/libbpf-detect-broken-pid-filtering-logic-for-multi-u.patch queue-6.9/libbpf-don-t-close-1-in-multi-uprobe-feature-detector.patch