selftests/bpf: Fix memory leak in test_ima
authorKumar Kartikeya Dwivedi <memxor@gmail.com>
Thu, 28 Oct 2021 06:35:01 +0000 (12:05 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:43 +0000 (19:16 +0100)
[ Upstream commit efadf2ad17a2d5dc90bda4e6e8b2f96af4c62dae ]

The allocated ring buffer is never freed, do so in the cleanup path.

Fixes: f446b570ac7e ("bpf/selftests: Update the IMA test to use BPF ring buffer")
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20211028063501.2239335-9-memxor@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/prog_tests/test_ima.c

index 0252f61d611a93fd2a97c206b1d3edddc76bc0f9..97d8a6f84f4ab1f711d415af4854bbdcda9ff3eb 100644 (file)
@@ -43,7 +43,7 @@ static int process_sample(void *ctx, void *data, size_t len)
 void test_test_ima(void)
 {
        char measured_dir_template[] = "/tmp/ima_measuredXXXXXX";
-       struct ring_buffer *ringbuf;
+       struct ring_buffer *ringbuf = NULL;
        const char *measured_dir;
        char cmd[256];
 
@@ -85,5 +85,6 @@ close_clean:
        err = system(cmd);
        CHECK(err, "failed to run command", "%s, errno = %d\n", cmd, errno);
 close_prog:
+       ring_buffer__free(ringbuf);
        ima__destroy(skel);
 }