syzbot


INFO: rcu detected stall in sys_unshare (4)

Status: auto-closed as invalid on 2021/12/03 09:38
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 459d, last: 459d
similar bugs (5):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in sys_unshare (2) 1 1064d 1064d 0/24 closed as invalid on 2020/01/08 05:23
upstream INFO: rcu detected stall in sys_unshare (5) 1 327d 327d 0/24 closed as invalid on 2022/02/08 10:10
upstream INFO: rcu detected stall in sys_unshare (3) 1 550d 550d 0/24 auto-closed as invalid on 2021/09/03 04:28
upstream INFO: rcu detected stall in sys_unshare (6) 1 296d 296d 0/24 auto-closed as invalid on 2022/05/15 15:21
upstream INFO: rcu detected stall in sys_unshare 3 1100d 1100d 0/24 closed as invalid on 2019/12/04 14:04

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	0-...!: (1 GPs behind) idle=48f/1/0x4000000000000000 softirq=21399/21400 fqs=0 
	(t=17423 jiffies g=24069 q=983)
rcu: rcu_preempt kthread starved for 17423 jiffies! g24069 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:I stack:26288 pid:   14 ppid:     2 flags:0x00004000
Call Trace:
 context_switch kernel/sched/core.c:4940 [inline]
 __schedule+0xbfd/0x11d0 kernel/sched/core.c:6287
 schedule+0x14b/0x210 kernel/sched/core.c:6366
 schedule_timeout+0x1aa/0x2f0 kernel/time/timer.c:1881
 rcu_gp_fqs_loop+0x1fd/0x770 kernel/rcu/tree.c:1957
 rcu_gp_kthread+0xa5/0x340 kernel/rcu/tree.c:2130
 kthread+0x453/0x480 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 175 Comm: kworker/u4:4 Not tainted 5.14.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events_unbound toggle_allocation_gate
RIP: 0010:check_kcov_mode kernel/kcov.c:174 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x33/0x60 kernel/kcov.c:197
Code: c0 ef 01 00 65 8b 15 a4 0a 81 7e f7 c2 00 01 ff 00 74 11 f7 c2 00 01 00 00 74 35 83 b9 3c 15 00 00 00 74 2c 8b 91 18 15 00 00 <83> fa 02 75 21 48 8b 91 20 15 00 00 48 8b 32 48 8d 7e 01 8b 89 1c
RSP: 0018:ffffc900011ff818 EFLAGS: 00000246
RAX: ffffffff8175478a RBX: 1ffff11017387085 RCX: ffff8880147dd580
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900011ff960 R08: ffffffff8175474e R09: ffffffff842c5b80
R10: 0000000000000009 R11: ffff8880147dd580 R12: 0000000000000000
R13: ffff8880b9c38428 R14: 1ffff110173a64a8 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000559d7f8b1960 CR3: 000000000c68e000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 csd_lock_wait kernel/smp.c:440 [inline]
 smp_call_function_many_cond+0xaaa/0xd60 kernel/smp.c:969
 on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1135
 on_each_cpu include/linux/smp.h:71 [inline]
 text_poke_sync arch/x86/kernel/alternative.c:929 [inline]
 text_poke_bp_batch+0x310/0x940 arch/x86/kernel/alternative.c:1114
 text_poke_flush arch/x86/kernel/alternative.c:1268 [inline]
 text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1275
 arch_jump_label_transform_apply+0x13/0x20 arch/x86/kernel/jump_label.c:146
 static_key_enable_cpuslocked+0x12d/0x250 kernel/jump_label.c:177
 static_key_enable+0x16/0x20 kernel/jump_label.c:190
 toggle_allocation_gate+0xbf/0x440 mm/kfence/core.c:623
 process_one_work+0x853/0x1140 kernel/workqueue.c:2297
 worker_thread+0xac1/0x1320 kernel/workqueue.c:2444
 kthread+0x453/0x480 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
NMI backtrace for cpu 0
CPU: 0 PID: 17699 Comm: syz-executor.3 Not tainted 5.14.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1ae/0x29f lib/dump_stack.c:105
 nmi_cpu_backtrace+0x405/0x430 lib/nmi_backtrace.c:105
 nmi_trigger_cpumask_backtrace+0x191/0x2f0 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline]
 rcu_dump_cpu_stacks+0x22d/0x390 kernel/rcu/tree_stall.h:343
 print_cpu_stall kernel/rcu/tree_stall.h:627 [inline]
 check_cpu_stall kernel/rcu/tree_stall.h:711 [inline]
 rcu_pending kernel/rcu/tree.c:3880 [inline]
 rcu_sched_clock_irq+0x1dc2/0x2b40 kernel/rcu/tree.c:2599
 update_process_times+0x197/0x200 kernel/time/timer.c:1785
 tick_sched_handle kernel/time/tick-sched.c:226 [inline]
 tick_sched_timer+0x27d/0x420 kernel/time/tick-sched.c:1421
 __run_hrtimer kernel/time/hrtimer.c:1685 [inline]
 __hrtimer_run_queues+0x4cb/0xa60 kernel/time/hrtimer.c:1749
 hrtimer_interrupt+0x3b3/0x1040 kernel/time/hrtimer.c:1811
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline]
 __sysvec_apic_timer_interrupt+0xf9/0x270 arch/x86/kernel/apic/apic.c:1103
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1097
 </IRQ>
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:module_put+0x0/0xa0 kernel/module.c:1089
Code: 40 96 93 8c e9 e1 8f e0 ff 90 53 48 89 f3 e8 17 00 00 00 e8 c2 7c 55 00 48 89 df e8 0a 88 d7 ff 66 2e 0f 1f 84 00 00 00 00 00 <41> 56 53 48 85 ff 74 69 49 89 fe bf 01 00 00 00 e8 3b 3e e2 ff 49
RSP: 0018:ffffc9000945f9f8 EFLAGS: 00000246
RAX: 000000008b845901 RBX: ffffffff8b846050 RCX: 0000000000040000
RDX: ffff888020338000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffffff8b845908 R08: ffffffff87ee582c R09: ffff888020132938
R10: ffffed1004026529 R11: 0000000000000000 R12: ffff8880980cec00
R13: dffffc0000000000 R14: 0000000000000002 R15: 1ffffffff1708c0a
 __sock_create+0x5fa/0x8d0 net/socket.c:1479
 inet_ctl_sock_create+0x96/0x1e0 net/ipv4/af_inet.c:1654
 igmp_net_init+0xb7/0x150 net/ipv4/igmp.c:3022
 ops_init+0x313/0x430 net/core/net_namespace.c:140
 setup_net+0x35b/0x9d0 net/core/net_namespace.c:326
 copy_net_ns+0x359/0x5c0 net/core/net_namespace.c:470
 create_new_namespaces+0x4ce/0xa00 kernel/nsproxy.c:110
 unshare_nsproxy_namespaces+0x11e/0x180 kernel/nsproxy.c:226
 ksys_unshare+0x57d/0xb50 kernel/fork.c:3005
 __do_sys_unshare kernel/fork.c:3079 [inline]
 __se_sys_unshare kernel/fork.c:3077 [inline]
 __x64_sys_unshare+0x34/0x40 kernel/fork.c:3077
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4665f9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f648dfb0188 EFLAGS: 00000246 ORIG_RAX: 0000000000000110
RAX: ffffffffffffffda RBX: 000000000056bf80 RCX: 00000000004665f9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000006c060000
RBP: 00000000004bfcc4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf80
R13: 00007ffd443577cf R14: 00007f648dfb0300 R15: 0000000000022000
----------------
Code disassembly (best guess):
   0:	c0 ef 01             	shr    $0x1,%bh
   3:	00 65 8b             	add    %ah,-0x75(%rbp)
   6:	15 a4 0a 81 7e       	adc    $0x7e810aa4,%eax
   b:	f7 c2 00 01 ff 00    	test   $0xff0100,%edx
  11:	74 11                	je     0x24
  13:	f7 c2 00 01 00 00    	test   $0x100,%edx
  19:	74 35                	je     0x50
  1b:	83 b9 3c 15 00 00 00 	cmpl   $0x0,0x153c(%rcx)
  22:	74 2c                	je     0x50
  24:	8b 91 18 15 00 00    	mov    0x1518(%rcx),%edx
* 2a:	83 fa 02             	cmp    $0x2,%edx <-- trapping instruction
  2d:	75 21                	jne    0x50
  2f:	48 8b 91 20 15 00 00 	mov    0x1520(%rcx),%rdx
  36:	48 8b 32             	mov    (%rdx),%rsi
  39:	48 8d 7e 01          	lea    0x1(%rsi),%rdi
  3d:	8b                   	.byte 0x8b
  3e:	89                   	.byte 0x89
  3f:	1c                   	.byte 0x1c

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-smack-root 2021/09/04 09:30 upstream 7cca308cfdc0 d236a457 .config log report info INFO: rcu detected stall in sys_unshare
* Struck through repros no longer work on HEAD.