On Thu, Feb 20, 2020 at 8:31 PM Song Liu <songliubraving@xxxxxx> wrote: > > > > > On Feb 20, 2020, at 8:20 PM, Andrii Nakryiko <andriin@xxxxxx> wrote: > > > > On 2/20/20 6:06 PM, Song Liu wrote: > >> On Thu, Feb 20, 2020 at 3:07 PM Andrii Nakryiko <andriin@xxxxxx> wrote: > >>> > >>> Libbpf's Travis CI tests caught this issue. Ensure bpf_link and bpf_object > >>> clean up is performed correctly. > >>> > >>> Fixes: d633d57902a5 ("selftest/bpf: Add test for allowed trampolines count") > >>> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> > >>> Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> > >>> --- > >>> .../bpf/prog_tests/trampoline_count.c | 25 +++++++++++++------ > >>> 1 file changed, 18 insertions(+), 7 deletions(-) > >>> > >>> diff --git a/tools/testing/selftests/bpf/prog_tests/trampoline_count.c b/tools/testing/selftests/bpf/prog_tests/trampoline_count.c > >>> index 1f6ccdaed1ac..781c8d11604b 100644 > >>> --- a/tools/testing/selftests/bpf/prog_tests/trampoline_count.c > >>> +++ b/tools/testing/selftests/bpf/prog_tests/trampoline_count.c > >>> @@ -55,31 +55,40 @@ void test_trampoline_count(void) > >>> /* attach 'allowed' 40 trampoline programs */ > >>> for (i = 0; i < MAX_TRAMP_PROGS; i++) { > >>> obj = bpf_object__open_file(object, NULL); > >>> - if (CHECK(IS_ERR(obj), "obj_open_file", "err %ld\n", PTR_ERR(obj))) > >>> + if (CHECK(IS_ERR(obj), "obj_open_file", "err %ld\n", PTR_ERR(obj))) { > >>> + obj = NULL; > >> I think we don't need obj and link in cleanup? Did I miss anything? > > > > We do set obj below (line 87) after this loop, so need to clean it up as well. As for link, yeah, technically link doesn't have to be set to NULL, but I kind of did it for completeness without thinking too much. > > I meant "obj = NULL;" before "goto cleanup;", as we don't use obj in the > cleanup path. > > Anyway, this is not a real issue. Ah, I see what you are saying, we skip over that bpf_object__close() call, right. > > Thanks, > Song >