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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202408311452.nS2HBgqc-lkp@intel.com>
Date: Sat, 31 Aug 2024 15:04:05 +0800
From: kernel test robot <lkp@...el.com>
To: "Paul E. McKenney" <paulmck@...nel.org>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	linux-kernel@...r.kernel.org
Subject: [paulmck-rcu:dev.2024.08.30a 27/33] include/linux/srcu.h:246:30:
 error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2024.08.30a
head:   05416eb79213ad6a9770faa795059fdd00adb6e0
commit: d4401cc54f3e2985675be825f5222aff9764ab8b [27/33] srcu: Convert srcu_data ->srcu_reader_flavor to bit field
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20240831/202408311452.nS2HBgqc-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240831/202408311452.nS2HBgqc-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/202408311452.nS2HBgqc-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/x86/kernel/asm-offsets.c:9:
   In file included from include/linux/crypto.h:17:
   In file included from include/linux/slab.h:16:
   In file included from include/linux/gfp.h:7:
   In file included from include/linux/mmzone.h:1432:
   In file included from include/linux/memory_hotplug.h:7:
   In file included from include/linux/notifier.h:16:
>> include/linux/srcu.h:246:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'
     246 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
         |                                     ^
>> include/linux/srcu.h:267:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NMI'
     267 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NMI);
         |                                     ^
   include/linux/srcu.h:279:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'
     279 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
         |                                     ^
   include/linux/srcu.h:308:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'
     308 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
         |                                     ^
   include/linux/srcu.h:323:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'
     323 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
         |                                     ^
   include/linux/srcu.h:339:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NMI'
     339 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NMI);
         |                                     ^
   include/linux/srcu.h:348:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'
     348 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
         |                                     ^
   include/linux/srcu.h:365:30: error: use of undeclared identifier 'SRCU_READ_FLAVOR_NORMAL'
     365 |         srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
         |                                     ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:16:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
      98 |                 return (set->sig[3] | set->sig[2] |
         |                         ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:16:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
      98 |                 return (set->sig[3] | set->sig[2] |
         |                                       ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:16:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:99:4: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
      99 |                         set->sig[1] | set->sig[0]) == 0;
         |                         ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:16:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:101:11: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
     101 |                 return (set->sig[1] | set->sig[0]) == 0;
         |                         ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:16:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:114:11: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
     114 |                 return  (set1->sig[3] == set2->sig[3]) &&
         |                          ^         ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from arch/x86/kernel/asm-offsets.c:14:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:16:


vim +/SRCU_READ_FLAVOR_NORMAL +246 include/linux/srcu.h

   221	
   222	/**
   223	 * srcu_read_lock - register a new reader for an SRCU-protected structure.
   224	 * @ssp: srcu_struct in which to register the new reader.
   225	 *
   226	 * Enter an SRCU read-side critical section.  Note that SRCU read-side
   227	 * critical sections may be nested.  However, it is illegal to
   228	 * call anything that waits on an SRCU grace period for the same
   229	 * srcu_struct, whether directly or indirectly.  Please note that
   230	 * one way to indirectly wait on an SRCU grace period is to acquire
   231	 * a mutex that is held elsewhere while calling synchronize_srcu() or
   232	 * synchronize_srcu_expedited().
   233	 *
   234	 * The return value from srcu_read_lock() must be passed unaltered
   235	 * to the matching srcu_read_unlock().  Note that srcu_read_lock() and
   236	 * the matching srcu_read_unlock() must occur in the same context, for
   237	 * example, it is illegal to invoke srcu_read_unlock() in an irq handler
   238	 * if the matching srcu_read_lock() was invoked in process context.  Or,
   239	 * for that matter to invoke srcu_read_unlock() from one task and the
   240	 * matching srcu_read_lock() from another.
   241	 */
   242	static inline int srcu_read_lock(struct srcu_struct *ssp) __acquires(ssp)
   243	{
   244		int retval;
   245	
 > 246		srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NORMAL);
   247		retval = __srcu_read_lock(ssp);
   248		srcu_lock_acquire(&ssp->dep_map);
   249		return retval;
   250	}
   251	
   252	/**
   253	 * srcu_read_lock_nmisafe - register a new reader for an SRCU-protected structure.
   254	 * @ssp: srcu_struct in which to register the new reader.
   255	 *
   256	 * Enter an SRCU read-side critical section, but in an NMI-safe manner.
   257	 * See srcu_read_lock() for more information.
   258	 *
   259	 * If srcu_read_lock_nmisafe() is ever used on an srcu_struct structure,
   260	 * then none of the other flavors may be used, whether before, during,
   261	 * or after.
   262	 */
   263	static inline int srcu_read_lock_nmisafe(struct srcu_struct *ssp) __acquires(ssp)
   264	{
   265		int retval;
   266	
 > 267		srcu_check_read_flavor(ssp, SRCU_READ_FLAVOR_NMI);
   268		retval = __srcu_read_lock_nmisafe(ssp);
   269		rcu_try_lock_acquire(&ssp->dep_map);
   270		return retval;
   271	}
   272	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ