Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mm/damon/tests/core-kunit: handle alloc failures in damon_test_ops_registration()

damon_test_ops_registration() is assuming all dynamic memory allocation in
it will succeed. Those are indeed likely in the real use cases since
those allocations are too small to fail, but theoretically those could
fail. In the case, inappropriate memory access can happen. Fix it by
appropriately cleanup pre-allocated memory and skip the execution of the
remaining tests in the failure cases.

Link: https://lkml.kernel.org/r/20251101182021.74868-10-sj@kernel.org
Fixes: 4f540f5ab4f2 ("mm/damon/core-test: add a kunit test case for ops registration")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendan.higgins@linux.dev>
Cc: David Gow <davidgow@google.com>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: <stable@vger.kernel.org> [5.19+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

SeongJae Park and committed by
Andrew Morton
4f835f4e eded254c

+3
+3
mm/damon/tests/core-kunit.h
··· 320 320 struct damon_operations ops = {.id = DAMON_OPS_VADDR}, bak; 321 321 bool need_cleanup = false; 322 322 323 + if (!c) 324 + kunit_skip(test, "ctx alloc fail"); 325 + 323 326 /* DAMON_OPS_VADDR is registered only if CONFIG_DAMON_VADDR is set */ 324 327 if (!damon_is_registered_ops(DAMON_OPS_VADDR)) { 325 328 bak.id = DAMON_OPS_VADDR;