lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7d19367b-a4ac-4c65-a543-9a4d614bec44@arm.com>
Date: Mon, 7 Oct 2024 11:08:36 +0100
From: Christian Loehle <christian.loehle@....com>
To: kernel test robot <lkp@...el.com>,
 Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
 Thomas Gleixner <tglx@...utronix.de>
Subject: Re: kernel/sched/core.c:1361:21: warning: 'uclamp_mutex' defined but
 not used

On 10/5/24 19:58, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   27cc6fdf720183dce1dbd293483ec5a9cb6b595e
> commit: d2d6422f8bd17c6bb205133e290625a564194496 x86: Allow to enable PREEMPT_RT.
> date:   3 weeks ago
> config: x86_64-buildonly-randconfig-002-20241006 (https://download.01.org/0day-ci/archive/20241006/202410060258.bPl2ZoUo-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241006/202410060258.bPl2ZoUo-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@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202410060258.bPl2ZoUo-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from include/linux/seqlock.h:19,
>                     from include/linux/dcache.h:11,
>                     from include/linux/fs.h:8,
>                     from include/linux/highmem.h:5,
>                     from kernel/sched/core.c:10:
>>> kernel/sched/core.c:1361:21: warning: 'uclamp_mutex' defined but not used [-Wunused-variable]
>     1361 | static DEFINE_MUTEX(uclamp_mutex);
>          |                     ^~~~~~~~~~~~
>    include/linux/mutex.h:101:22: note: in definition of macro 'DEFINE_MUTEX'
>      101 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
>          |                      ^~~~~~~~~
> 
> 
> vim +/uclamp_mutex +1361 kernel/sched/core.c
> 
> 71f8bd4600521f kernel/sched.c      Ingo Molnar     2007-07-09  1349  
> 69842cba9ace84 kernel/sched/core.c Patrick Bellasi 2019-06-21  1350  #ifdef CONFIG_UCLAMP_TASK
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1351  /*
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1352   * Serializes updates of utilization clamp values
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1353   *
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1354   * The (slow-path) user-space triggers utilization clamp value updates which
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1355   * can require updates on (fast-path) scheduler's data structures used to
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1356   * support enqueue/dequeue operations.
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1357   * While the per-CPU rq lock protects fast-path update operations, user-space
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1358   * requests are serialized using a mutex to reduce the risk of conflicting
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1359   * updates or API abuses.
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1360   */
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22 @1361  static DEFINE_MUTEX(uclamp_mutex);
> 2480c093130f64 kernel/sched/core.c Patrick Bellasi 2019-08-22  1362  
> 
> :::::: The code at line 1361 was first introduced by commit
> :::::: 2480c093130f64ac3a410504fa8b3db1fc4b87ce sched/uclamp: Extend CPU's cgroup controller
> 
> :::::: TO: Patrick Bellasi <patrick.bellasi@....com>
> :::::: CC: Ingo Molnar <mingo@...nel.org>
> 

Please allow me a day to walk through the code just to double-check, but
the obvious fixes are either letting UCLAMP_TASK depend on SYSCTL or:

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 43e453ab7e20..18d9622eac8d 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1394,7 +1394,9 @@ void set_load_weight(struct task_struct *p, bool update_load)
  * requests are serialized using a mutex to reduce the risk of conflicting
  * updates or API abuses.
  */
+#if defined(CONFIG_UCLAMP_TASK_GROUP) || defined(CONFIG_SYSCTL)
 static DEFINE_MUTEX(uclamp_mutex);
+#endif
 
 /* Max allowed minimum utilization */
 static unsigned int __maybe_unused sysctl_sched_uclamp_util_min = SCHED_CAPACITY_SCALE;



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ