public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* kernel/kthread.c:861:13: warning: variable 'ret' set but not used
@ 2025-01-30  7:16 kernel test robot
  2025-02-04  9:08 ` [PATCH] kthread: Fix build warning " Dhruva Gole
  0 siblings, 1 reply; 8+ messages in thread
From: kernel test robot @ 2025-01-30  7:16 UTC (permalink / raw)
  To: Frederic Weisbecker; +Cc: oe-kbuild-all, linux-kernel

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   72deda0abee6e705ae71a93f69f55e33be5bca5c
commit: 4d13f4304fa43471bfea101658a11feec7b28ac0 kthread: Implement preferred affinity
date:   3 weeks ago
config: csky-randconfig-r022-20220420 (https://download.01.org/0day-ci/archive/20250130/202501301528.t0cZVbnq-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250130/202501301528.t0cZVbnq-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/

All warnings (new ones prefixed by >>):

   kernel/kthread.c: In function 'kthread_affine_preferred':
>> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
     861 |         int ret;
         |             ^~~


vim +/ret +861 kernel/kthread.c

   855	
   856	int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask)
   857	{
   858		struct kthread *kthread = to_kthread(p);
   859		cpumask_var_t affinity;
   860		unsigned long flags;
 > 861		int ret;
   862	
   863		if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE) || kthread->started) {
   864			WARN_ON(1);
   865			return -EINVAL;
   866		}
   867	
   868		WARN_ON_ONCE(kthread->preferred_affinity);
   869	
   870		if (!zalloc_cpumask_var(&affinity, GFP_KERNEL))
   871			return -ENOMEM;
   872	
   873		kthread->preferred_affinity = kzalloc(sizeof(struct cpumask), GFP_KERNEL);
   874		if (!kthread->preferred_affinity) {
   875			ret = -ENOMEM;
   876			goto out;
   877		}
   878	
   879		mutex_lock(&kthreads_hotplug_lock);
   880		cpumask_copy(kthread->preferred_affinity, mask);
   881		WARN_ON_ONCE(!list_empty(&kthread->hotplug_node));
   882		list_add_tail(&kthread->hotplug_node, &kthreads_hotplug);
   883		kthread_fetch_affinity(kthread, affinity);
   884	
   885		/* It's safe because the task is inactive. */
   886		raw_spin_lock_irqsave(&p->pi_lock, flags);
   887		do_set_cpus_allowed(p, affinity);
   888		raw_spin_unlock_irqrestore(&p->pi_lock, flags);
   889	
   890		mutex_unlock(&kthreads_hotplug_lock);
   891	out:
   892		free_cpumask_var(affinity);
   893	
   894		return 0;
   895	}
   896	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH] kthread: Fix build warning variable 'ret' set but not used
  2025-01-30  7:16 kernel/kthread.c:861:13: warning: variable 'ret' set but not used kernel test robot
@ 2025-02-04  9:08 ` Dhruva Gole
  2025-02-04 15:15   ` Kees Cook
  2025-02-04 16:09   ` [PATCH V2] " Dhruva Gole
  0 siblings, 2 replies; 8+ messages in thread
From: Dhruva Gole @ 2025-02-04  9:08 UTC (permalink / raw)
  To: Frederic Weisbecker, Andrew Morton, Vlastimil Babka
  Cc: Chen Yu, linux-kernel, Kees Cook, Randy Dunlap, Dhruva Gole

Fix the following build time warning in kthread:

   kernel/kthread.c: In function 'kthread_affine_preferred':
>> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
     861 |         int ret;
         |             ^~~

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
Signed-off-by: Dhruva Gole <d-gole@ti.com>
---
 kernel/kthread.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/kernel/kthread.c b/kernel/kthread.c
index 4005b13ebd7f..f730b1413d13 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -859,7 +859,6 @@ 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;
 
 	if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE) || kthread->started) {
 		WARN_ON(1);
@@ -873,7 +872,6 @@ int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask)
 
 	kthread->preferred_affinity = kzalloc(sizeof(struct cpumask), GFP_KERNEL);
 	if (!kthread->preferred_affinity) {
-		ret = -ENOMEM;
 		goto out;
 	}
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] kthread: Fix build warning variable 'ret' set but not used
  2025-02-04  9:08 ` [PATCH] kthread: Fix build warning " Dhruva Gole
@ 2025-02-04 15:15   ` Kees Cook
  2025-02-04 15:50     ` Dhruva Gole
  2025-02-04 16:09   ` [PATCH V2] " Dhruva Gole
  1 sibling, 1 reply; 8+ messages in thread
From: Kees Cook @ 2025-02-04 15:15 UTC (permalink / raw)
  To: Dhruva Gole
  Cc: Frederic Weisbecker, Andrew Morton, Vlastimil Babka, Chen Yu,
	linux-kernel, Randy Dunlap

On Tue, Feb 04, 2025 at 02:38:38PM +0530, Dhruva Gole wrote:
> Fix the following build time warning in kthread:
> 
>    kernel/kthread.c: In function 'kthread_affine_preferred':
> >> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
>      861 |         int ret;
>          |             ^~~
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
> Signed-off-by: Dhruva Gole <d-gole@ti.com>
> ---
>  kernel/kthread.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/kernel/kthread.c b/kernel/kthread.c
> index 4005b13ebd7f..f730b1413d13 100644
> --- a/kernel/kthread.c
> +++ b/kernel/kthread.c
> @@ -859,7 +859,6 @@ 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;
>  
>  	if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE) || kthread->started) {
>  		WARN_ON(1);
> @@ -873,7 +872,6 @@ int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask)
>  
>  	kthread->preferred_affinity = kzalloc(sizeof(struct cpumask), GFP_KERNEL);
>  	if (!kthread->preferred_affinity) {
> -		ret = -ENOMEM;
>  		goto out;
>  	}

This seems wrong? This is an error path, so removing this causes "return
0" to happen. I would take a look at the commit history to figure out
when this mistake was introduced and adjust it correctly. I would have
expected "int ret = 0;", and "return ret;" at "out:" to be the fix.

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kthread: Fix build warning variable 'ret' set but not used
  2025-02-04 15:15   ` Kees Cook
@ 2025-02-04 15:50     ` Dhruva Gole
  0 siblings, 0 replies; 8+ messages in thread
From: Dhruva Gole @ 2025-02-04 15:50 UTC (permalink / raw)
  To: Kees Cook
  Cc: Frederic Weisbecker, Andrew Morton, Vlastimil Babka, Chen Yu,
	linux-kernel, Randy Dunlap

On Feb 04, 2025 at 07:15:41 -0800, Kees Cook wrote:
> On Tue, Feb 04, 2025 at 02:38:38PM +0530, Dhruva Gole wrote:
> > Fix the following build time warning in kthread:
> > 
> >    kernel/kthread.c: In function 'kthread_affine_preferred':
> > >> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
> >      861 |         int ret;
> >          |             ^~~
> > 
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
> > Signed-off-by: Dhruva Gole <d-gole@ti.com>
> > ---
> >  kernel/kthread.c | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/kernel/kthread.c b/kernel/kthread.c
> > index 4005b13ebd7f..f730b1413d13 100644
> > --- a/kernel/kthread.c
> > +++ b/kernel/kthread.c
> > @@ -859,7 +859,6 @@ 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;
> >  
> >  	if (!wait_task_inactive(p, TASK_UNINTERRUPTIBLE) || kthread->started) {
> >  		WARN_ON(1);
> > @@ -873,7 +872,6 @@ int kthread_affine_preferred(struct task_struct *p, const struct cpumask *mask)
> >  
> >  	kthread->preferred_affinity = kzalloc(sizeof(struct cpumask), GFP_KERNEL);
> >  	if (!kthread->preferred_affinity) {
> > -		ret = -ENOMEM;
> >  		goto out;
> >  	}
> 
> This seems wrong? This is an error path, so removing this causes "return
> 0" to happen. I would take a look at the commit history to figure out
> when this mistake was introduced and adjust it correctly. I would have
> expected "int ret = 0;", and "return ret;" at "out:" to be the fix.

Seems like it was introduced in commit 4d13f4304fa43 ("kthread: Implement preferred affinity")

This was a bit wrong to begin with. But you're right I will follow your
suggestion and send out a v2.

-- 
Best regards,
Dhruva Gole
Texas Instruments Incorporated

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V2] kthread: Fix build warning variable 'ret' set but not used
  2025-02-04  9:08 ` [PATCH] kthread: Fix build warning " Dhruva Gole
  2025-02-04 15:15   ` Kees Cook
@ 2025-02-04 16:09   ` Dhruva Gole
  2025-02-04 19:02     ` Frederic Weisbecker
  1 sibling, 1 reply; 8+ messages in thread
From: Dhruva Gole @ 2025-02-04 16:09 UTC (permalink / raw)
  To: Frederic Weisbecker, Andrew Morton, Vlastimil Babka
  Cc: Chen Yu, linux-kernel, Kees Cook, Randy Dunlap, Dhruva Gole

Fix the following build time warning in kthread:

   kernel/kthread.c: In function 'kthread_affine_preferred':
>> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
     861 |         int ret;
         |             ^~~

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
Signed-off-by: Dhruva Gole <d-gole@ti.com>
---
Link to v1:
https://lore.kernel.org/lkml/20250204090838.214647-1-d-gole@ti.com/

Changelog:
- Use ret value toward the end return as per Kees' suggestion

---

 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;
 }
 
 /*

base-commit: 40b8e93e17bff4a4e0cc129e04f9fdf5daa5397e
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH V2] kthread: Fix build warning variable 'ret' set but not used
  2025-02-04 16:09   ` [PATCH V2] " Dhruva Gole
@ 2025-02-04 19:02     ` Frederic Weisbecker
  2025-02-05  6:17       ` Dhruva Gole
  0 siblings, 1 reply; 8+ messages in thread
From: Frederic Weisbecker @ 2025-02-04 19:02 UTC (permalink / raw)
  To: Dhruva Gole
  Cc: Andrew Morton, Vlastimil Babka, Chen Yu, linux-kernel, Kees Cook,
	Randy Dunlap

Hi Dhruva,

Le Tue, Feb 04, 2025 at 09:39:21PM +0530, Dhruva Gole a écrit :
> Fix the following build time warning in kthread:
> 
>    kernel/kthread.c: In function 'kthread_affine_preferred':
> >> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
>      861 |         int ret;
>          |             ^~~
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
> Signed-off-by: Dhruva Gole <d-gole@ti.com>

Thanks for your patch but another similar fix was already pending. I have sent
the pull request there:

https://lore.kernel.org/lkml/Z6JjZMdbDoAX_AVW@pavilion.home/T/#u

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2] kthread: Fix build warning variable 'ret' set but not used
  2025-02-04 19:02     ` Frederic Weisbecker
@ 2025-02-05  6:17       ` Dhruva Gole
  2025-02-05 11:09         ` Frederic Weisbecker
  0 siblings, 1 reply; 8+ messages in thread
From: Dhruva Gole @ 2025-02-05  6:17 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Andrew Morton, Vlastimil Babka, Chen Yu, linux-kernel, Kees Cook,
	Randy Dunlap

On Feb 04, 2025 at 20:02:19 +0100, Frederic Weisbecker wrote:
> Hi Dhruva,
> 
> Le Tue, Feb 04, 2025 at 09:39:21PM +0530, Dhruva Gole a écrit :
> > Fix the following build time warning in kthread:
> > 
> >    kernel/kthread.c: In function 'kthread_affine_preferred':
> > >> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
> >      861 |         int ret;
> >          |             ^~~
> > 
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
> > Signed-off-by: Dhruva Gole <d-gole@ti.com>
> 
> Thanks for your patch but another similar fix was already pending. I have sent
> the pull request there:
> 
> https://lore.kernel.org/lkml/Z6JjZMdbDoAX_AVW@pavilion.home/T/#u

OK, btw another qn I had was does this file not need a MAINTAINERS file
update?
I don't see a real MAINTAINER against it, everyone just shows as
contributors / committers...
Or is it to be sent to Linus directly?

-- 
Best regards,
Dhruva Gole
Texas Instruments Incorporated

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2] kthread: Fix build warning variable 'ret' set but not used
  2025-02-05  6:17       ` Dhruva Gole
@ 2025-02-05 11:09         ` Frederic Weisbecker
  0 siblings, 0 replies; 8+ messages in thread
From: Frederic Weisbecker @ 2025-02-05 11:09 UTC (permalink / raw)
  To: Dhruva Gole
  Cc: Andrew Morton, Vlastimil Babka, Chen Yu, linux-kernel, Kees Cook,
	Randy Dunlap

Le Wed, Feb 05, 2025 at 11:47:40AM +0530, Dhruva Gole a écrit :
> On Feb 04, 2025 at 20:02:19 +0100, Frederic Weisbecker wrote:
> > Hi Dhruva,
> > 
> > Le Tue, Feb 04, 2025 at 09:39:21PM +0530, Dhruva Gole a écrit :
> > > Fix the following build time warning in kthread:
> > > 
> > >    kernel/kthread.c: In function 'kthread_affine_preferred':
> > > >> kernel/kthread.c:861:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
> > >      861 |         int ret;
> > >          |             ^~~
> > > 
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Closes: https://lore.kernel.org/oe-kbuild-all/202501301528.t0cZVbnq-lkp@intel.com/
> > > Signed-off-by: Dhruva Gole <d-gole@ti.com>
> > 
> > Thanks for your patch but another similar fix was already pending. I have sent
> > the pull request there:
> > 
> > https://lore.kernel.org/lkml/Z6JjZMdbDoAX_AVW@pavilion.home/T/#u
> 
> OK, btw another qn I had was does this file not need a MAINTAINERS file
> update?
> I don't see a real MAINTAINER against it, everyone just shows as
> contributors / committers...
> Or is it to be sent to Linus directly?

There is no official maintainer for kthreads. But I volunteer to handle the patches
targeted to it at least for a while given my recent invasive changes there.

Thanks.

> 
> -- 
> Best regards,
> Dhruva Gole
> Texas Instruments Incorporated

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-02-05 11:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-30  7:16 kernel/kthread.c:861:13: warning: variable 'ret' set but not used kernel test robot
2025-02-04  9:08 ` [PATCH] kthread: Fix build warning " Dhruva Gole
2025-02-04 15:15   ` Kees Cook
2025-02-04 15:50     ` Dhruva Gole
2025-02-04 16:09   ` [PATCH V2] " Dhruva Gole
2025-02-04 19:02     ` Frederic Weisbecker
2025-02-05  6:17       ` Dhruva Gole
2025-02-05 11:09         ` Frederic Weisbecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox