]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
kthread: Fix return value on kzalloc() failure in kthread_affine_preferred()
authorYu-Chun Lin <eleanor15x@gmail.com>
Thu, 30 Jan 2025 14:48:49 +0000 (22:48 +0800)
committerFrederic Weisbecker <frederic@kernel.org>
Tue, 4 Feb 2025 00:42:27 +0000 (01:42 +0100)
kthread_affine_preferred() incorrectly returns 0 instead of -ENOMEM
when kzalloc() fails. Return 'ret' to ensure the correct error code is
propagated.

Fixes: 4d13f4304fa4 ("kthread: Implement preferred affinity")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
Signed-off-by: Yu-Chun Lin <eleanor15x@gmail.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
kernel/kthread.c

index 4005b13ebd7ffa453e3a6a48e84038c85d63dba4..5dc5b0d7238e85ad4074076e4036062c7bfcae74 100644 (file)
@@ -859,7 +859,7 @@ int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask)
        struct kthread *kthread = to_kthread(p);
        cpumask_var_t affinity;
        unsigned long flags;
-       int ret;
+       int ret = 0;
 
        if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE) || kthread->started) {
                WARN_ON(1);
@@ -892,7 +892,7 @@ int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask)
 out:
        free_cpumask_var(affinity);
 
-       return 0;
+       return ret;
 }
 
 /*