Re: [PATCH bpf] tools: bpftool: Add missing close before bpftool net attach exit

From: Michal Rostecki
Date: Mon Nov 09 2020 - 05:51:51 EST


On 11/9/20 8:04 AM, Wang Hai wrote:
progfd is created by prog_parse_fd(), before 'bpftool net attach' exit,
it should be closed.

Fixes: 04949ccc273e ("tools: bpftool: add net attach command to attach XDP on interface")
Signed-off-by: Wang Hai <wanghai38@xxxxxxxxxx>
---
tools/bpf/bpftool/net.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/bpf/bpftool/net.c b/tools/bpf/bpftool/net.c
index 910e7bac6e9e..3e9b40e64fb0 100644
--- a/tools/bpf/bpftool/net.c
+++ b/tools/bpf/bpftool/net.c
@@ -600,12 +600,14 @@ static int do_attach(int argc, char **argv)
if (err < 0) {
p_err("interface %s attach failed: %s",
attach_type_strings[attach_type], strerror(-err));
+ close(progfd);
return err;
}
if (json_output)
jsonw_null(json_wtr);
+ close(progfd);
return 0;
}

Nit - wouldn't it be better to create a `cleanup`/`out` section before return and use goto, to avoid copying the `close` call?