samples/damon/prcl: fix boot time enable crash

If 'enable' parameter of the 'prcl' 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-3-sj@kernel.org
Fixes: 2aca254620 ("samples/damon: introduce a skeleton of a smaple DAMON module for proactive reclamation")
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
SeongJae Park 2025-07-06 12:32:03 -07:00 committed by Andrew Morton
parent 0ed1165c37
commit 2780505ec2

View File

@ -109,6 +109,8 @@ static void damon_sample_prcl_stop(void)
put_pid(target_pidp);
}
static bool init_called;
static int damon_sample_prcl_enable_store(
const char *val, const struct kernel_param *kp)
{
@ -134,6 +136,14 @@ static int damon_sample_prcl_enable_store(
static int __init damon_sample_prcl_init(void)
{
int err = 0;
init_called = true;
if (enable) {
err = damon_sample_prcl_start();
if (err)
enable = false;
}
return 0;
}