The requested resources should be closed before return in main(), otherwise
resource leak will occur. Add a check of cgroup_fd and close().

Fixes: 4939b2847d26 ("bpf, selftests: Use single cgroup helpers for both 
test_sockmap/progs")
Signed-off-by: Ma Ke <mak...@iscas.ac.cn>
---
 tools/testing/selftests/bpf/test_cgroup_storage.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/testing/selftests/bpf/test_cgroup_storage.c 
b/tools/testing/selftests/bpf/test_cgroup_storage.c
index 0861ea60dcdd..4265f1348b6b 100644
--- a/tools/testing/selftests/bpf/test_cgroup_storage.c
+++ b/tools/testing/selftests/bpf/test_cgroup_storage.c
@@ -79,6 +79,8 @@ int main(int argc, char **argv)
        }
 
        cgroup_fd = cgroup_setup_and_join(TEST_CGROUP);
+       if (cgroup_fd < 0)
+               goto out;
 
        /* Attach the bpf program */
        if (bpf_prog_attach(prog_fd, cgroup_fd, BPF_CGROUP_INET_EGRESS, 0)) {
@@ -170,5 +172,7 @@ int main(int argc, char **argv)
        free(percpu_value);
 
 out:
+       if (cgroup_fd >= 0)
+               close(cgroup_fd);
        return error;
 }
-- 
2.25.1


Reply via email to