mm/damon/tests/sysfs-kunit.h | 1 + 1 file changed, 1 insertion(+)
The sysfs_target->regions allocated in damon_sysfs_regions_alloc()
is not freed in damon_sysfs_test_add_targets(), which cause the following
memory leak, free it to fix it.
unreferenced object 0xffffff80c2a8db80 (size 96):
comm "kunit_try_catch", pid 187, jiffies 4294894363
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace (crc 0):
[<0000000001e3714d>] kmemleak_alloc+0x34/0x40
[<000000008e6835c1>] __kmalloc_cache_noprof+0x26c/0x2f4
[<000000001286d9f8>] damon_sysfs_test_add_targets+0x1cc/0x738
[<0000000032ef8f77>] kunit_try_run_case+0x13c/0x3ac
[<00000000f3edea23>] kunit_generic_run_threadfn_adapter+0x80/0xec
[<00000000adf936cf>] kthread+0x2e8/0x374
[<0000000041bb1628>] ret_from_fork+0x10/0x20
Cc: stable@vger.kernel.org
Fixes: b8ee5575f763 ("mm/damon/sysfs-test: add a unit test for damon_sysfs_set_targets()")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
---
mm/damon/tests/sysfs-kunit.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/damon/tests/sysfs-kunit.h b/mm/damon/tests/sysfs-kunit.h
index 1c9b596057a7..7b5c7b307da9 100644
--- a/mm/damon/tests/sysfs-kunit.h
+++ b/mm/damon/tests/sysfs-kunit.h
@@ -67,6 +67,7 @@ static void damon_sysfs_test_add_targets(struct kunit *test)
damon_destroy_ctx(ctx);
kfree(sysfs_targets->targets_arr);
kfree(sysfs_targets);
+ kfree(sysfs_target->regions);
kfree(sysfs_target);
}
--
2.34.1
Hi Jinjie, On Thu, 10 Oct 2024 20:53:23 +0800 Jinjie Ruan <ruanjinjie@huawei.com> wrote: > The sysfs_target->regions allocated in damon_sysfs_regions_alloc() > is not freed in damon_sysfs_test_add_targets(), which cause the following > memory leak, free it to fix it. > > unreferenced object 0xffffff80c2a8db80 (size 96): > comm "kunit_try_catch", pid 187, jiffies 4294894363 > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace (crc 0): > [<0000000001e3714d>] kmemleak_alloc+0x34/0x40 > [<000000008e6835c1>] __kmalloc_cache_noprof+0x26c/0x2f4 > [<000000001286d9f8>] damon_sysfs_test_add_targets+0x1cc/0x738 > [<0000000032ef8f77>] kunit_try_run_case+0x13c/0x3ac > [<00000000f3edea23>] kunit_generic_run_threadfn_adapter+0x80/0xec > [<00000000adf936cf>] kthread+0x2e8/0x374 > [<0000000041bb1628>] ret_from_fork+0x10/0x20 Thank you for catching this issue and posting this fix! > > Cc: stable@vger.kernel.org > Fixes: b8ee5575f763 ("mm/damon/sysfs-test: add a unit test for damon_sysfs_set_targets()") > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> > --- > mm/damon/tests/sysfs-kunit.h | 1 + > 1 file changed, 1 insertion(+) Can we update the subject prefix to "mm/damon/tests/sysfs-kunit:"? I think that will help readers understanding the change more easily. Other than that, Reviewed-by: SeongJae Park <sj@kernel.org> Thanks, SJ > > diff --git a/mm/damon/tests/sysfs-kunit.h b/mm/damon/tests/sysfs-kunit.h > index 1c9b596057a7..7b5c7b307da9 100644 > --- a/mm/damon/tests/sysfs-kunit.h > +++ b/mm/damon/tests/sysfs-kunit.h > @@ -67,6 +67,7 @@ static void damon_sysfs_test_add_targets(struct kunit *test) > damon_destroy_ctx(ctx); > kfree(sysfs_targets->targets_arr); > kfree(sysfs_targets); > + kfree(sysfs_target->regions); > kfree(sysfs_target); > } > > -- > 2.34.1
© 2016 - 2024 Red Hat, Inc.