libbpf: Fix error handling in bpf_map__reuse_fd()
authorToke Høiland-Jørgensen <toke@redhat.com>
Sat, 2 Nov 2019 11:09:37 +0000 (12:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2019 15:35:33 +0000 (16:35 +0100)
commitb3051cd82d92dda7e247c116b953bcdc0779e4e4
tree05be7613e203e2695a56e8ac526d6067803bfae4
parent77a6a2656c81f2d2e165cb3208a63d2c5f186de8
libbpf: Fix error handling in bpf_map__reuse_fd()

[ Upstream commit d1b4574a4b86565325ef2e545eda8dfc9aa07c60 ]

bpf_map__reuse_fd() was calling close() in the error path before returning
an error value based on errno. However, close can change errno, so that can
lead to potentially misleading error messages. Instead, explicitly store
errno in the err variable before each goto.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/157269297769.394725.12634985106772698611.stgit@toke.dk
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/lib/bpf/libbpf.c