On Wed, Jun 20, 2018 at 11:42 AM, Jakub Kicinski <jakub.kicin...@netronome.com> wrote: > Remembering to close all descriptors and free memory may not seem > important in a user space tool like bpftool, but if we were to run > in batch mode the consumed resources start to add up quickly. Make > sure program load closes the libbpf object (which unloads and frees > it). > > Fixes: 49a086c201a9 ("bpftool: implement prog load command") > Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com> > Reviewed-by: Quentin Monnet <quentin.mon...@netronome.com>
Acked-by: Song Liu <songliubrav...@fb.com> > --- > tools/bpf/bpftool/prog.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c > index 12b694fe0404..959aa53ab678 100644 > --- a/tools/bpf/bpftool/prog.c > +++ b/tools/bpf/bpftool/prog.c > @@ -695,12 +695,18 @@ static int do_load(int argc, char **argv) > } > > if (do_pin_fd(prog_fd, argv[1])) > - return -1; > + goto err_close_obj; > > if (json_output) > jsonw_null(json_wtr); > > + bpf_object__close(obj); > + > return 0; > + > +err_close_obj: > + bpf_object__close(obj); > + return -1; > } > > static int do_help(int argc, char **argv) > -- > 2.17.1 >