All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master] [rcu]  3183059ad8: kernel/rcu/tree.c:#Illegal_rcu_softirq_qs()in_RCU_read-side_critical_section
@ 2024-04-16  6:40 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-16  6:40 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: oe-lkp, lkp, Linux Memory Management List, Uladzislau Rezki,
	Eric Dumazet, Jakub Kicinski, David S. Miller, Yan Zhai, rcu,
	oliver.sang



Hello,

kernel test robot noticed "kernel/rcu/tree.c:#Illegal_rcu_softirq_qs()in_RCU_read-side_critical_section" on:

commit: 3183059ad82a0daa8292daf43c325bac57daceb5 ("rcu: Add lockdep checks and kernel-doc header to rcu_softirq_qs()")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[test failed on linux-next/master 6bd343537461b57f3efe5dfc5fc193a232dfef1e]

in testcase: trinity
version: 
with following parameters:

	runtime: 300s
	group: group-03
	nr_groups: 5



compiler: gcc-13
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

(please refer to attached dmesg/kmsg for entire log/backtrace)



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 <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202404161239.4aa01f2-lkp@intel.com


[  293.025781][    C0] WARNING: suspicious RCU usage
[  293.026196][    C0] 6.9.0-rc2-00001-g3183059ad82a #1 Tainted: G        W
[  293.026856][    C0] -----------------------------
[  293.027278][    C0] kernel/rcu/tree.c:269 Illegal rcu_softirq_qs() in RCU read-side critical section!
[  293.028021][    C0]
[  293.028021][    C0] other info that might help us debug this:
[  293.028021][    C0]
[  293.028967][    C0]
[  293.028967][    C0] rcu_scheduler_active = 2, debug_locks = 1
[  293.029640][    C0] 1 lock held by ksoftirqd/0/14:
[ 293.030049][ C0] #0: ffffffff85ee8ba0 (rcu_read_lock_sched){....}-{1:2}, at: __virt_addr_valid (include/linux/rcupdate.h:329 (discriminator 1) include/linux/rcupdate.h:873 (discriminator 1) include/linux/mmzone.h:2019 (discriminator 1) arch/x86/mm/physaddr.c:65 (discriminator 1)) 
[  293.031027][    C0]
[  293.031027][    C0] stack backtrace:
[  293.031577][    C0] CPU: 0 PID: 14 Comm: ksoftirqd/0 Tainted: G        W          6.9.0-rc2-00001-g3183059ad82a #1
[  293.032489][    C0] Call Trace:
[  293.032778][    C0]  <IRQ>
[ 293.033025][ C0] dump_stack_lvl (lib/dump_stack.c:117) 
[ 293.033421][ C0] lockdep_rcu_suspicious (include/linux/context_tracking.h:153 kernel/locking/lockdep.c:6713) 
[ 293.033864][ C0] rcu_softirq_qs (kernel/rcu/tree.c:269 (discriminator 11)) 
[ 293.034273][ C0] __do_softirq (kernel/softirq.c:568) 
[ 293.034723][ C0] ? __lock_text_end (kernel/softirq.c:512) 
[ 293.035189][ C0] ? tick_handle_periodic (kernel/time/tick-common.c:131 (discriminator 1)) 
[ 293.035627][ C0] irq_exit_rcu (kernel/softirq.c:428 kernel/softirq.c:633 kernel/softirq.c:645) 
[ 293.035994][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1043 (discriminator 47) arch/x86/kernel/apic/apic.c:1043 (discriminator 47)) 
[  293.036495][    C0]  </IRQ>
[  293.036811][    C0]  <TASK>
[ 293.037091][ C0] asm_sysvec_apic_timer_interrupt (arch/x86/include/asm/idtentry.h:702) 
[ 293.037626][ C0] RIP: 0010:lock_acquire (kernel/locking/lockdep.c:5722) 
[ 293.038107][ C0] Code: b8 ff ff ff ff 48 83 c4 28 65 0f c1 05 5a f4 c9 7e 83 f8 01 0f 85 8a 02 00 00 48 85 ed 74 01 fb 48 b8 00 00 00 00 00 fc ff df <48> 01 c3 48 c7 03 00 00 00 00 48 c7 43 08 00 00 00 00 48 8b 84 24
All code
========
   0:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
   5:	48 83 c4 28          	add    $0x28,%rsp
   9:	65 0f c1 05 5a f4 c9 	xadd   %eax,%gs:0x7ec9f45a(%rip)        # 0x7ec9f46b
  10:	7e 
  11:	83 f8 01             	cmp    $0x1,%eax
  14:	0f 85 8a 02 00 00    	jne    0x2a4
  1a:	48 85 ed             	test   %rbp,%rbp
  1d:	74 01                	je     0x20
  1f:	fb                   	sti
  20:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  27:	fc ff df 
  2a:*	48 01 c3             	add    %rax,%rbx		<-- trapping instruction
  2d:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
  34:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
  3b:	00 
  3c:	48                   	rex.W
  3d:	8b                   	.byte 0x8b
  3e:	84                   	.byte 0x84
  3f:	24                   	.byte 0x24

Code starting with the faulting instruction
===========================================
   0:	48 01 c3             	add    %rax,%rbx
   3:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
   a:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
  11:	00 
  12:	48                   	rex.W
  13:	8b                   	.byte 0x8b
  14:	84                   	.byte 0x84
  15:	24                   	.byte 0x24
[  293.039747][    C0] RSP: 0018:ffff888106a6fb58 EFLAGS: 00000206
[  293.040272][    C0] RAX: dffffc0000000000 RBX: 1ffff11020d4df6d RCX: 0000000000000000
[  293.040938][    C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[  293.041606][    C0] RBP: 0000000000000200 R08: 0000000000000000 R09: 0000000000000000
[  293.042327][    C0] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[  293.043046][    C0] R13: 0000000000000000 R14: ffffffff85ee8ba0 R15: 0000000000000000
[ 293.043775][ C0] ? lock_sync (kernel/locking/lockdep.c:5722) 
[ 293.044186][ C0] ? lock_acquire (kernel/locking/lockdep.c:467 (discriminator 4) kernel/locking/lockdep.c:5756 (discriminator 4)) 
[ 293.044620][ C0] ? remove_entity_load_avg (kernel/sched/fair.c:4808) 
[ 293.045079][ C0] ? find_held_lock (kernel/locking/lockdep.c:5244 (discriminator 1)) 
[ 293.045518][ C0] ? __lock_release+0x103/0x450 
[ 293.045998][ C0] ? finish_task_switch+0x5ce/0xae0 
[ 293.046465][ C0] ? lockdep_tasklist_lock_is_held (kernel/fork.c:345) 
[ 293.046974][ C0] __virt_addr_valid (include/linux/rcupdate.h:874 include/linux/mmzone.h:2019 arch/x86/mm/physaddr.c:65) 
[ 293.047391][ C0] ? __virt_addr_valid (include/linux/rcupdate.h:329 (discriminator 1) include/linux/rcupdate.h:873 (discriminator 1) include/linux/mmzone.h:2019 (discriminator 1) arch/x86/mm/physaddr.c:65 (discriminator 1)) 
[ 293.047829][ C0] kasan_addr_to_slab (mm/kasan/common.c:37 (discriminator 1)) 
[ 293.048247][ C0] __kasan_record_aux_stack (mm/kasan/generic.c:531 (discriminator 1)) 
[ 293.048738][ C0] __call_rcu_common+0x6b/0x6a0 
[ 293.049245][ C0] put_task_stack (kernel/fork.c:371 kernel/fork.c:571 kernel/fork.c:578) 
[ 293.049646][ C0] finish_task_switch+0x5d6/0xae0 
[ 293.050136][ C0] __schedule (kernel/sched/core.c:6617) 
[ 293.050531][ C0] ? io_schedule_timeout (kernel/sched/core.c:6617) 
[ 293.050975][ C0] ? reacquire_held_locks (kernel/locking/lockdep.c:5405) 
[ 293.051450][ C0] ? schedule (kernel/sched/core.c:6804 (discriminator 1) kernel/sched/core.c:6837 (discriminator 1)) 
[ 293.051820][ C0] schedule (arch/x86/include/asm/preempt.h:84 (discriminator 13) kernel/sched/core.c:6824 (discriminator 13) kernel/sched/core.c:6838 (discriminator 13)) 
[ 293.052184][ C0] smpboot_thread_fn (kernel/smpboot.c:160) 
[ 293.052638][ C0] ? schedule (arch/x86/include/asm/preempt.h:84 (discriminator 13) kernel/sched/core.c:6824 (discriminator 13) kernel/sched/core.c:6838 (discriminator 13)) 
[ 293.052993][ C0] ? sort_range (kernel/smpboot.c:107) 
[ 293.053361][ C0] kthread (kernel/kthread.c:388) 
[ 293.053744][ C0] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 293.054220][ C0] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 293.054592][ C0] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 293.055091][ C0] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[  293.055556][    C0]  </TASK>


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240416/202404161239.4aa01f2-lkp@intel.com



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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-16  6:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-16  6:40 [linux-next:master] [rcu] 3183059ad8: kernel/rcu/tree.c:#Illegal_rcu_softirq_qs()in_RCU_read-side_critical_section kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.