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

From: wanghai (M)
Date: Mon Nov 09 2020 - 20:57:30 EST



在 2020/11/9 18:51, Michal Rostecki 写道:
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?
.

Thanks for review. I just sent v2 patch

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