public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
@ 2025-12-03 14:22 kernel test robot
  2025-12-04  8:19 ` Peter Zijlstra
  2025-12-04 11:05 ` Peter Zijlstra
  0 siblings, 2 replies; 9+ messages in thread
From: kernel test robot @ 2025-12-03 14:22 UTC (permalink / raw)
  To: Oleg Nesterov; +Cc: oe-kbuild-all, linux-kernel, Peter Zijlstra

Hi Oleg,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3f9f0252130e7dd60d41be0802bf58f6471c691d
commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
date:   6 weeks ago
config: arm-mvebu_v5_defconfig (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-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/202512032230.5pqkcg8x-lkp@intel.com/

All errors (new ones prefixed by >>):

   arm-linux-gnueabi-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
>> include/linux/seqlock.h:1257:(.text+0x96a0): undefined reference to `__scoped_seqlock_bug'


vim +1257 include/linux/seqlock.h

cc39f3872c0865 Peter Zijlstra 2025-10-09  1251  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1252  static inline void
cc39f3872c0865 Peter Zijlstra 2025-10-09  1253  __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
cc39f3872c0865 Peter Zijlstra 2025-10-09  1254  {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1255  	switch (sst->state) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1256  	case ss_done:
cc39f3872c0865 Peter Zijlstra 2025-10-09 @1257  		__scoped_seqlock_bug();
cc39f3872c0865 Peter Zijlstra 2025-10-09  1258  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1259  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1260  	case ss_lock:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1261  	case ss_lock_irqsave:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1262  		sst->state = ss_done;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1263  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1264  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1265  	case ss_lockless:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1266  		if (!read_seqretry(lock, sst->data)) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1267  			sst->state = ss_done;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1268  			return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1269  		}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1270  		break;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1271  	}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1272  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1273  	switch (target) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1274  	case ss_done:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1275  		__scoped_seqlock_invalid_target();
cc39f3872c0865 Peter Zijlstra 2025-10-09  1276  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1277  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1278  	case ss_lock:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1279  		sst->lock = &lock->lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1280  		spin_lock(sst->lock);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1281  		sst->state = ss_lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1282  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1283  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1284  	case ss_lock_irqsave:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1285  		sst->lock_irqsave = &lock->lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1286  		spin_lock_irqsave(sst->lock_irqsave, sst->data);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1287  		sst->state = ss_lock_irqsave;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1288  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1289  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1290  	case ss_lockless:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1291  		sst->data = read_seqbegin(lock);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1292  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1293  	}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1294  }
cc39f3872c0865 Peter Zijlstra 2025-10-09  1295  

:::::: The code at line 1257 was first introduced by commit
:::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()

:::::: TO: Peter Zijlstra <peterz@infradead.org>
:::::: CC: Peter Zijlstra <peterz@infradead.org>

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

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

* Re: include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
  2025-12-03 14:22 kernel test robot
@ 2025-12-04  8:19 ` Peter Zijlstra
  2025-12-04 11:05 ` Peter Zijlstra
  1 sibling, 0 replies; 9+ messages in thread
From: Peter Zijlstra @ 2025-12-04  8:19 UTC (permalink / raw)
  To: kernel test robot; +Cc: Oleg Nesterov, oe-kbuild-all, linux-kernel

On Wed, Dec 03, 2025 at 10:22:28PM +0800, kernel test robot wrote:
> Hi Oleg,
> 
> FYI, the error/warning still remains.

I don't have this report in my inbox. I had some for other builds, which
I fixed, but not this one.

Anyway, let me go stare at it. This is the optimizer failing in some
way.

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   3f9f0252130e7dd60d41be0802bf58f6471c691d
> commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
> date:   6 weeks ago
> config: arm-mvebu_v5_defconfig (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-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/202512032230.5pqkcg8x-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>    arm-linux-gnueabi-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
> >> include/linux/seqlock.h:1257:(.text+0x96a0): undefined reference to `__scoped_seqlock_bug'
> 
> 
> vim +1257 include/linux/seqlock.h
> 
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1251  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1252  static inline void
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1253  __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1254  {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1255  	switch (sst->state) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1256  	case ss_done:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 @1257  		__scoped_seqlock_bug();
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1258  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1259  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1260  	case ss_lock:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1261  	case ss_lock_irqsave:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1262  		sst->state = ss_done;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1263  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1264  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1265  	case ss_lockless:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1266  		if (!read_seqretry(lock, sst->data)) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1267  			sst->state = ss_done;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1268  			return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1269  		}
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1270  		break;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1271  	}
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1272  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1273  	switch (target) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1274  	case ss_done:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1275  		__scoped_seqlock_invalid_target();
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1276  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1277  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1278  	case ss_lock:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1279  		sst->lock = &lock->lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1280  		spin_lock(sst->lock);
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1281  		sst->state = ss_lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1282  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1283  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1284  	case ss_lock_irqsave:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1285  		sst->lock_irqsave = &lock->lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1286  		spin_lock_irqsave(sst->lock_irqsave, sst->data);
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1287  		sst->state = ss_lock_irqsave;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1288  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1289  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1290  	case ss_lockless:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1291  		sst->data = read_seqbegin(lock);
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1292  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1293  	}
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1294  }
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1295  
> 
> :::::: The code at line 1257 was first introduced by commit
> :::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()
> 
> :::::: TO: Peter Zijlstra <peterz@infradead.org>
> :::::: CC: Peter Zijlstra <peterz@infradead.org>
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

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

* Re: include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
  2025-12-03 14:22 kernel test robot
  2025-12-04  8:19 ` Peter Zijlstra
@ 2025-12-04 11:05 ` Peter Zijlstra
  2025-12-05  3:34   ` Oliver Sang
  1 sibling, 1 reply; 9+ messages in thread
From: Peter Zijlstra @ 2025-12-04 11:05 UTC (permalink / raw)
  To: kernel test robot; +Cc: Oleg Nesterov, oe-kbuild-all, linux-kernel

On Wed, Dec 03, 2025 at 10:22:28PM +0800, kernel test robot wrote:
> Hi Oleg,
> 
> FYI, the error/warning still remains.
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   3f9f0252130e7dd60d41be0802bf58f6471c691d
> commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
> date:   6 weeks ago
> config: arm-mvebu_v5_defconfig (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0

>    arm-linux-gnueabi-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
> >> include/linux/seqlock.h:1257:(.text+0x96a0): undefined reference to `__scoped_seqlock_bug'

I cannot reproduce using the gcc-15.1 toolchain from kernel.org

$ make O=tmp-build/ ARCH=arm CROSS_COMPILE=/opt/cross-15.1/bin/arm-linux-gnueabi- -j64

completes using your .config. I've tried twice now. In any case, if this
reliably fails for you, could you try:

  https://lkml.kernel.org/r/20251204104332.GG2528459@noisy.programming.kicks-ass.net

perhaps it is that same problem. If not, could you perhaps hand me the
kernel/sched/build_policy.s file?

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

* Re: include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
  2025-12-04 11:05 ` Peter Zijlstra
@ 2025-12-05  3:34   ` Oliver Sang
  0 siblings, 0 replies; 9+ messages in thread
From: Oliver Sang @ 2025-12-05  3:34 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: kernel test robot, Oleg Nesterov, oe-kbuild-all, linux-kernel,
	oliver.sang

hi, Peter Zijlstra,

On Thu, Dec 04, 2025 at 12:05:04PM +0100, Peter Zijlstra wrote:
> On Wed, Dec 03, 2025 at 10:22:28PM +0800, kernel test robot wrote:
> > Hi Oleg,
> > 
> > FYI, the error/warning still remains.
> > 
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   3f9f0252130e7dd60d41be0802bf58f6471c691d
> > commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
> > date:   6 weeks ago
> > config: arm-mvebu_v5_defconfig (https://download.01.org/0day-ci/archive/20251203/202512032230.5pqkcg8x-lkp@intel.com/config)
> > compiler: arm-linux-gnueabi-gcc (GCC) 15.1.0
> 
> >    arm-linux-gnueabi-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
> > >> include/linux/seqlock.h:1257:(.text+0x96a0): undefined reference to `__scoped_seqlock_bug'
> 
> I cannot reproduce using the gcc-15.1 toolchain from kernel.org
> 
> $ make O=tmp-build/ ARCH=arm CROSS_COMPILE=/opt/cross-15.1/bin/arm-linux-gnueabi- -j64
> 
> completes using your .config. I've tried twice now. In any case, if this
> reliably fails for you, could you try:

yes, we can reproduce reliably with the reproducer.

and yes, the issue can be fixed by below patch. thanks

Tested-by: kernel test robot <oliver.sang@intel.com>

> 
>   https://lkml.kernel.org/r/20251204104332.GG2528459@noisy.programming.kicks-ass.net
> 
> perhaps it is that same problem. If not, could you perhaps hand me the
> kernel/sched/build_policy.s file?
> 

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

* include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
@ 2026-01-29  1:32 kernel test robot
  2026-01-29  9:39 ` Peter Zijlstra
  0 siblings, 1 reply; 9+ messages in thread
From: kernel test robot @ 2026-01-29  1:32 UTC (permalink / raw)
  To: Oleg Nesterov; +Cc: oe-kbuild-all, linux-kernel, Peter Zijlstra

Hi Oleg,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8dfce8991b95d8625d0a1d2896e42f93b9d7f68d
commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
date:   3 months ago
config: s390-randconfig-002-20260129 (https://download.01.org/0day-ci/archive/20260129/202601290910.uwScjRjc-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260129/202601290910.uwScjRjc-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/202601290910.uwScjRjc-lkp@intel.com/

All errors (new ones prefixed by >>):

   s390-linux-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
>> include/linux/seqlock.h:1257:(.text+0x3ee04): undefined reference to `__scoped_seqlock_bug'


vim +1257 include/linux/seqlock.h

cc39f3872c0865 Peter Zijlstra 2025-10-09  1251  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1252  static inline void
cc39f3872c0865 Peter Zijlstra 2025-10-09  1253  __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
cc39f3872c0865 Peter Zijlstra 2025-10-09  1254  {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1255  	switch (sst->state) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1256  	case ss_done:
cc39f3872c0865 Peter Zijlstra 2025-10-09 @1257  		__scoped_seqlock_bug();
cc39f3872c0865 Peter Zijlstra 2025-10-09  1258  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1259  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1260  	case ss_lock:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1261  	case ss_lock_irqsave:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1262  		sst->state = ss_done;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1263  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1264  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1265  	case ss_lockless:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1266  		if (!read_seqretry(lock, sst->data)) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1267  			sst->state = ss_done;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1268  			return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1269  		}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1270  		break;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1271  	}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1272  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1273  	switch (target) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1274  	case ss_done:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1275  		__scoped_seqlock_invalid_target();
cc39f3872c0865 Peter Zijlstra 2025-10-09  1276  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1277  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1278  	case ss_lock:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1279  		sst->lock = &lock->lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1280  		spin_lock(sst->lock);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1281  		sst->state = ss_lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1282  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1283  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1284  	case ss_lock_irqsave:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1285  		sst->lock_irqsave = &lock->lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1286  		spin_lock_irqsave(sst->lock_irqsave, sst->data);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1287  		sst->state = ss_lock_irqsave;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1288  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1289  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1290  	case ss_lockless:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1291  		sst->data = read_seqbegin(lock);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1292  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1293  	}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1294  }
cc39f3872c0865 Peter Zijlstra 2025-10-09  1295  

:::::: The code at line 1257 was first introduced by commit
:::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()

:::::: TO: Peter Zijlstra <peterz@infradead.org>
:::::: CC: Peter Zijlstra <peterz@infradead.org>

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

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

* Re: include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
  2026-01-29  1:32 include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug' kernel test robot
@ 2026-01-29  9:39 ` Peter Zijlstra
  2026-01-29 10:26   ` Uros Bizjak
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Zijlstra @ 2026-01-29  9:39 UTC (permalink / raw)
  To: kernel test robot
  Cc: Oleg Nesterov, oe-kbuild-all, linux-kernel, ubizjak, Ingo Molnar

On Thu, Jan 29, 2026 at 09:32:00AM +0800, kernel test robot wrote:
> Hi Oleg,
> 
> FYI, the error/warning still remains.
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   8dfce8991b95d8625d0a1d2896e42f93b9d7f68d
> commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
> date:   3 months ago
> config: s390-randconfig-002-20260129 (https://download.01.org/0day-ci/archive/20260129/202601290910.uwScjRjc-lkp@intel.com/config)
> compiler: s390-linux-gcc (GCC) 15.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260129/202601290910.uwScjRjc-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/202601290910.uwScjRjc-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>    s390-linux-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
> >> include/linux/seqlock.h:1257:(.text+0x3ee04): undefined reference to `__scoped_seqlock_bug'
> 

Yeah, this is an UBSAN build, and those sanitizers keep confusing
things.

The problem is, some distros seem to actually ship with that crap on
:-(.

I need to go prod some compiler folks.

Uros, do compiler folks care about optimizer quality in the face of
UBSAN or should I go kick distros for shipping with UBSAN enabled?

If s390 isn't your cup of tea, I think Ingo has a x86 config somewhere
that shows this same.

> vim +1257 include/linux/seqlock.h
> 
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1251  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1252  static inline void
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1253  __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1254  {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1255  	switch (sst->state) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1256  	case ss_done:
> cc39f3872c0865 Peter Zijlstra 2025-10-09 @1257  		__scoped_seqlock_bug();
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1258  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1259  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1260  	case ss_lock:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1261  	case ss_lock_irqsave:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1262  		sst->state = ss_done;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1263  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1264  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1265  	case ss_lockless:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1266  		if (!read_seqretry(lock, sst->data)) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1267  			sst->state = ss_done;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1268  			return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1269  		}
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1270  		break;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1271  	}
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1272  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1273  	switch (target) {
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1274  	case ss_done:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1275  		__scoped_seqlock_invalid_target();
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1276  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1277  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1278  	case ss_lock:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1279  		sst->lock = &lock->lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1280  		spin_lock(sst->lock);
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1281  		sst->state = ss_lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1282  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1283  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1284  	case ss_lock_irqsave:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1285  		sst->lock_irqsave = &lock->lock;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1286  		spin_lock_irqsave(sst->lock_irqsave, sst->data);
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1287  		sst->state = ss_lock_irqsave;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1288  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1289  
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1290  	case ss_lockless:
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1291  		sst->data = read_seqbegin(lock);
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1292  		return;
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1293  	}
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1294  }
> cc39f3872c0865 Peter Zijlstra 2025-10-09  1295  
> 
> :::::: The code at line 1257 was first introduced by commit
> :::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()
> 
> :::::: TO: Peter Zijlstra <peterz@infradead.org>
> :::::: CC: Peter Zijlstra <peterz@infradead.org>
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

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

* Re: include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
  2026-01-29  9:39 ` Peter Zijlstra
@ 2026-01-29 10:26   ` Uros Bizjak
  0 siblings, 0 replies; 9+ messages in thread
From: Uros Bizjak @ 2026-01-29 10:26 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: kernel test robot, Oleg Nesterov, oe-kbuild-all, linux-kernel,
	Ingo Molnar

On Thu, Jan 29, 2026 at 10:39 AM Peter Zijlstra <peterz@infradead.org> wrote:
>
> On Thu, Jan 29, 2026 at 09:32:00AM +0800, kernel test robot wrote:
> > Hi Oleg,
> >
> > FYI, the error/warning still remains.
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   8dfce8991b95d8625d0a1d2896e42f93b9d7f68d
> > commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
> > date:   3 months ago
> > config: s390-randconfig-002-20260129 (https://download.01.org/0day-ci/archive/20260129/202601290910.uwScjRjc-lkp@intel.com/config)
> > compiler: s390-linux-gcc (GCC) 15.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260129/202601290910.uwScjRjc-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/202601290910.uwScjRjc-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> >    s390-linux-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
> > >> include/linux/seqlock.h:1257:(.text+0x3ee04): undefined reference to `__scoped_seqlock_bug'
> >
>
> Yeah, this is an UBSAN build, and those sanitizers keep confusing
> things.
>
> The problem is, some distros seem to actually ship with that crap on
> :-(.
>
> I need to go prod some compiler folks.
>
> Uros, do compiler folks care about optimizer quality in the face of
> UBSAN or should I go kick distros for shipping with UBSAN enabled?
>
> If s390 isn't your cup of tea, I think Ingo has a x86 config somewhere
> that shows this same.

Please file a bug in GCC bugzilla under the "sanitizer" component.
This is more a question for people that deal with sanitizers in GCC.

Thanks,
Uros.

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

* include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
@ 2026-02-19 15:39 kernel test robot
  0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2026-02-19 15:39 UTC (permalink / raw)
  To: Oleg Nesterov; +Cc: oe-kbuild-all, linux-kernel, Peter Zijlstra

Hi Oleg,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2b7a25df823dc7d8f56f8ce7c2d2dac391cea9c2
commit: 488f48b32654dc6be04d9cc12f75ce030c9cb21b seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
date:   4 months ago
config: s390-randconfig-r113-20260219 (https://download.01.org/0day-ci/archive/20260219/202602192356.E8iIJTI4-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260219/202602192356.E8iIJTI4-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/202602192356.E8iIJTI4-lkp@intel.com/

All errors (new ones prefixed by >>):

   s390-linux-ld: kernel/sched/build_policy.o: in function `__scoped_seqlock_next':
>> include/linux/seqlock.h:1257:(.text+0x12f20): undefined reference to `__scoped_seqlock_bug'


vim +1257 include/linux/seqlock.h

cc39f3872c0865b Peter Zijlstra 2025-10-09  1251  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1252  static inline void
cc39f3872c0865b Peter Zijlstra 2025-10-09  1253  __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
cc39f3872c0865b Peter Zijlstra 2025-10-09  1254  {
cc39f3872c0865b Peter Zijlstra 2025-10-09  1255  	switch (sst->state) {
cc39f3872c0865b Peter Zijlstra 2025-10-09  1256  	case ss_done:
cc39f3872c0865b Peter Zijlstra 2025-10-09 @1257  		__scoped_seqlock_bug();
cc39f3872c0865b Peter Zijlstra 2025-10-09  1258  		return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1259  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1260  	case ss_lock:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1261  	case ss_lock_irqsave:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1262  		sst->state = ss_done;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1263  		return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1264  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1265  	case ss_lockless:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1266  		if (!read_seqretry(lock, sst->data)) {
cc39f3872c0865b Peter Zijlstra 2025-10-09  1267  			sst->state = ss_done;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1268  			return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1269  		}
cc39f3872c0865b Peter Zijlstra 2025-10-09  1270  		break;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1271  	}
cc39f3872c0865b Peter Zijlstra 2025-10-09  1272  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1273  	switch (target) {
cc39f3872c0865b Peter Zijlstra 2025-10-09  1274  	case ss_done:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1275  		__scoped_seqlock_invalid_target();
cc39f3872c0865b Peter Zijlstra 2025-10-09  1276  		return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1277  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1278  	case ss_lock:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1279  		sst->lock = &lock->lock;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1280  		spin_lock(sst->lock);
cc39f3872c0865b Peter Zijlstra 2025-10-09  1281  		sst->state = ss_lock;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1282  		return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1283  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1284  	case ss_lock_irqsave:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1285  		sst->lock_irqsave = &lock->lock;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1286  		spin_lock_irqsave(sst->lock_irqsave, sst->data);
cc39f3872c0865b Peter Zijlstra 2025-10-09  1287  		sst->state = ss_lock_irqsave;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1288  		return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1289  
cc39f3872c0865b Peter Zijlstra 2025-10-09  1290  	case ss_lockless:
cc39f3872c0865b Peter Zijlstra 2025-10-09  1291  		sst->data = read_seqbegin(lock);
cc39f3872c0865b Peter Zijlstra 2025-10-09  1292  		return;
cc39f3872c0865b Peter Zijlstra 2025-10-09  1293  	}
cc39f3872c0865b Peter Zijlstra 2025-10-09  1294  }
cc39f3872c0865b Peter Zijlstra 2025-10-09  1295  

:::::: The code at line 1257 was first introduced by commit
:::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()

:::::: TO: Peter Zijlstra <peterz@infradead.org>
:::::: CC: Peter Zijlstra <peterz@infradead.org>

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

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

* include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug'
@ 2026-04-21  4:44 kernel test robot
  0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2026-04-21  4:44 UTC (permalink / raw)
  To: Oleg Nesterov; +Cc: oe-kbuild-all, linux-kernel, Peter Zijlstra

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b4e07588e743c989499ca24d49e752c074924a9a
commit: b76f72bea2c601afec81829ea427fc0d20f83216 seqlock: Change do_task_stat() to use scoped_seqlock_read()
date:   6 months ago
config: s390-randconfig-r121-20260421 (https://download.01.org/0day-ci/archive/20260421/202604211202.l5fYUuLq-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 15.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260421/202604211202.l5fYUuLq-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
| Fixes: b76f72bea2c6 ("seqlock: Change do_task_stat() to use scoped_seqlock_read()")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604211202.l5fYUuLq-lkp@intel.com/

All errors (new ones prefixed by >>):

   s390-linux-ld: kernel/sched/build_policy.o: in function `thread_group_cputime':
   build_policy.c:(.text+0x23958): undefined reference to `__scoped_seqlock_bug'
   s390-linux-ld: fs/proc/array.o: in function `do_task_stat.isra.0':
>> include/linux/seqlock.h:1257:(.text+0x308c): undefined reference to `__scoped_seqlock_bug'


vim +1257 include/linux/seqlock.h

cc39f3872c0865 Peter Zijlstra 2025-10-09  1251  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1252  static inline void
cc39f3872c0865 Peter Zijlstra 2025-10-09  1253  __scoped_seqlock_next(struct ss_tmp *sst, seqlock_t *lock, enum ss_state target)
cc39f3872c0865 Peter Zijlstra 2025-10-09  1254  {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1255  	switch (sst->state) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1256  	case ss_done:
cc39f3872c0865 Peter Zijlstra 2025-10-09 @1257  		__scoped_seqlock_bug();
cc39f3872c0865 Peter Zijlstra 2025-10-09  1258  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1259  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1260  	case ss_lock:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1261  	case ss_lock_irqsave:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1262  		sst->state = ss_done;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1263  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1264  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1265  	case ss_lockless:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1266  		if (!read_seqretry(lock, sst->data)) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1267  			sst->state = ss_done;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1268  			return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1269  		}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1270  		break;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1271  	}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1272  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1273  	switch (target) {
cc39f3872c0865 Peter Zijlstra 2025-10-09  1274  	case ss_done:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1275  		__scoped_seqlock_invalid_target();
cc39f3872c0865 Peter Zijlstra 2025-10-09  1276  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1277  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1278  	case ss_lock:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1279  		sst->lock = &lock->lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1280  		spin_lock(sst->lock);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1281  		sst->state = ss_lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1282  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1283  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1284  	case ss_lock_irqsave:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1285  		sst->lock_irqsave = &lock->lock;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1286  		spin_lock_irqsave(sst->lock_irqsave, sst->data);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1287  		sst->state = ss_lock_irqsave;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1288  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1289  
cc39f3872c0865 Peter Zijlstra 2025-10-09  1290  	case ss_lockless:
cc39f3872c0865 Peter Zijlstra 2025-10-09  1291  		sst->data = read_seqbegin(lock);
cc39f3872c0865 Peter Zijlstra 2025-10-09  1292  		return;
cc39f3872c0865 Peter Zijlstra 2025-10-09  1293  	}
cc39f3872c0865 Peter Zijlstra 2025-10-09  1294  }
cc39f3872c0865 Peter Zijlstra 2025-10-09  1295  

:::::: The code at line 1257 was first introduced by commit
:::::: cc39f3872c0865bef992b713338df369554fa9e0 seqlock: Introduce scoped_seqlock_read()

:::::: TO: Peter Zijlstra <peterz@infradead.org>
:::::: CC: Peter Zijlstra <peterz@infradead.org>

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

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

end of thread, other threads:[~2026-04-21  4:45 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-29  1:32 include/linux/seqlock.h:1257:undefined reference to `__scoped_seqlock_bug' kernel test robot
2026-01-29  9:39 ` Peter Zijlstra
2026-01-29 10:26   ` Uros Bizjak
  -- strict thread matches above, loose matches on Subject: below --
2026-04-21  4:44 kernel test robot
2026-02-19 15:39 kernel test robot
2025-12-03 14:22 kernel test robot
2025-12-04  8:19 ` Peter Zijlstra
2025-12-04 11:05 ` Peter Zijlstra
2025-12-05  3:34   ` Oliver Sang

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