Dan reported that after the rework the newly introduced scf_add_to_free_list() may get a NULL pointer passed. This replaced kfree() which was fine with a NULL pointer but scf_add_to_free_list() isn't. Let scf_add_to_free_list() handle NULL pointer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Closes: https://lore.kernel.org/all/2375aa2c-3248-4ffa-b9b0-f0a24c50f237@stanley.mountain Fixes: 4788c861ad7e9 ("scftorture: Use a lock-less list to free memory.") Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- Thank you Dan. I had to look twice, that `scfsp' above looked almost identical. kernel/scftorture.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/scftorture.c b/kernel/scftorture.c index eeafd3fc16820..d86d2d9c46248 100644 --- a/kernel/scftorture.c +++ b/kernel/scftorture.c @@ -155,6 +155,8 @@ static void scf_add_to_free_list(struct scf_check *scfcp) struct llist_head *pool; unsigned int cpu; + if (!scfcp) + return; cpu = raw_smp_processor_id() % nthreads; pool = &per_cpu(scf_free_pool, cpu); llist_add(&scfcp->scf_node, pool); -- 2.45.2