Message ID | 20240627060107.8682-1-zhujun2@cmss.chinamobile.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/bpf:fix a resource leak | expand |
On 6/27/24 8:01 AM, Zhu Jun wrote: > The requested resources should be closed before return > in main(), otherwise resource leak will occur > > Signed-off-by: Zhu Jun <zhujun2@cmss.chinamobile.com> > --- > tools/testing/selftests/bpf/test_sockmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/test_sockmap.c b/tools/testing/selftests/bpf/test_sockmap.c > index a34e95040994..03d5dd617c4a 100644 > --- a/tools/testing/selftests/bpf/test_sockmap.c > +++ b/tools/testing/selftests/bpf/test_sockmap.c > @@ -2092,7 +2092,7 @@ int main(int argc, char **argv) > if (err) { > fprintf(stderr, "populate program: (%s) %s\n", > bpf_file, strerror(errno)); > - return 1; > + goto out; > } > running = 1; There's one more when cgroup_setup_and_join() fails a bit higher up where we end up leaking options.whitelist/options.blacklist. Maybe could you reorder the free() towards the end, add a new label, set err to cg_fd and jump there. Thanks, Daniel
diff --git a/tools/testing/selftests/bpf/test_sockmap.c b/tools/testing/selftests/bpf/test_sockmap.c index a34e95040994..03d5dd617c4a 100644 --- a/tools/testing/selftests/bpf/test_sockmap.c +++ b/tools/testing/selftests/bpf/test_sockmap.c @@ -2092,7 +2092,7 @@ int main(int argc, char **argv) if (err) { fprintf(stderr, "populate program: (%s) %s\n", bpf_file, strerror(errno)); - return 1; + goto out; } running = 1;
The requested resources should be closed before return in main(), otherwise resource leak will occur Signed-off-by: Zhu Jun <zhujun2@cmss.chinamobile.com> --- tools/testing/selftests/bpf/test_sockmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)