[PATCH] kthread: Fix return value on kzalloc() failure in kthread_affine_preferred()

Yu-Chun Lin posted 1 patch 1 year ago
kernel/kthread.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] kthread: Fix return value on kzalloc() failure in kthread_affine_preferred()
Posted by Yu-Chun Lin 1 year ago
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>
---
 kernel/kthread.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/kthread.c b/kernel/kthread.c
index 4005b13ebd7f..5dc5b0d7238e 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -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;
 }
 
 /*
-- 
2.43.0
Re: [PATCH] kthread: Fix return value on kzalloc() failure in kthread_affine_preferred()
Posted by Frederic Weisbecker 1 year ago
Le Thu, Jan 30, 2025 at 10:48:49PM +0800, Yu-Chun Lin a écrit :
> 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>

Queued. Thanks!