Commit 96431434 authored by SeongJae Park's avatar SeongJae Park Committed by Andrew Morton
Browse files

samples/damon/mtier: support boot time enable setup

If 'enable' parameter of the 'mtier' DAMON sample module is set at boot
time via the kernel command line, memory allocation is tried before the
slab is initialized.  As a result kernel NULL pointer dereference BUG can
happen.  Fix it by checking the initialization status.

Link: https://lkml.kernel.org/r/20250706193207.39810-4-sj@kernel.org


Fixes: 82a08bde ("samples/damon: implement a DAMON module for memory tiering")
Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 2780505e
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -157,6 +157,8 @@ static void damon_sample_mtier_stop(void)
	damon_destroy_ctx(ctxs[1]);
}

static bool init_called;

static int damon_sample_mtier_enable_store(
		const char *val, const struct kernel_param *kp)
{
@@ -182,6 +184,14 @@ static int damon_sample_mtier_enable_store(

static int __init damon_sample_mtier_init(void)
{
	int err = 0;

	init_called = true;
	if (enable) {
		err = damon_sample_mtier_start();
		if (err)
			enable = false;
	}
	return 0;
}