syzbot


INFO: rcu detected stall in iov_iter_init

Status: closed as invalid on 2022/02/08 10:00
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 323d, last: 323d

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	0-...!: (10499 ticks this GP) idle=191/1/0x4000000000000000 softirq=57113/57113 fqs=2 
	(t=10500 jiffies g=91325 q=51)
rcu: rcu_preempt kthread starved for 10496 jiffies! g91325 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:R  running task     stack:28272 pid:   14 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:4972 [inline]
 __schedule+0xa9a/0x4900 kernel/sched/core.c:6253
 schedule+0xd2/0x260 kernel/sched/core.c:6326
 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881
 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1955
 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2128
 kthread+0x405/0x4f0 kernel/kthread.c:327
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
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: 20693 Comm: syz-executor.1 Not tainted 5.16.0-rc8-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__this_cpu_preempt_check+0xc/0x20 lib/smp_processor_id.c:67
Code: 44 00 00 48 c7 c6 a0 a0 04 8a 48 c7 c7 e0 a0 04 8a e9 78 fe ff ff 0f 1f 84 00 00 00 00 00 55 48 89 fd 0f 1f 44 00 00 48 89 ee <5d> 48 c7 c7 20 a1 04 8a e9 57 fe ff ff cc cc cc cc cc cc cc eb 1e
RSP: 0018:ffffc90000fd8da8 EFLAGS: 00000046
RAX: 0000000000000001 RBX: 6ede1827595ee905 RCX: ffffc90000fd8e08
RDX: 1ffff11005fb959a RSI: ffffffff89abf940 RDI: ffffffff89abf940
RBP: ffffffff89abf940 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000001
R13: 0000000000000002 R14: ffff88802fdcacd8 R15: ffff88802fdca280
FS:  00007f026ad35700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020800010 CR3: 000000006e5c1000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 lockdep_recursion_finish kernel/locking/lockdep.c:438 [inline]
 lock_release+0x3bb/0x720 kernel/locking/lockdep.c:5659
 seqcount_lockdep_reader_access include/linux/seqlock.h:104 [inline]
 ktime_get+0x8d/0x470 kernel/time/timekeeping.c:827
 clockevents_program_event+0x141/0x370 kernel/time/clockevents.c:326
 tick_program_event+0xac/0x140 kernel/time/tick-oneshot.c:44
 hrtimer_interrupt+0x36e/0x790 kernel/time/hrtimer.c:1824
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline]
 __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1103
 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1097
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:iov_iter_init+0x2/0x1b0 lib/iov_iter.c:512
Code: e8 03 fd ff ff 41 89 c4 e8 3b 16 9e fd 44 89 e0 5b 5d 41 5c c3 41 bc ea ff ff ff eb eb cc cc cc cc cc cc cc cc cc cc cc 41 57 <41> 56 4d 89 c6 41 55 49 89 d5 41 54 49 89 cc 55 89 f5 41 89 ef 53
RSP: 0018:ffffc9001057fcf8 EFLAGS: 00000246
RAX: ffffc9001057fe18 RBX: ffff88807a345280 RCX: 0000000000000001
RDX: ffffc9001057fd38 RSI: 0000000000000001 RDI: ffffc9001057fd58
RBP: 1ffff920020affa3 R08: 0000000000000000 R09: ffffffff8ff7aa8f
R10: ffffffff81c82937 R11: 0000000000000001 R12: ffffc9001057fd58
R13: 0000000000000000 R14: ffffc9001057fec8 R15: 0000000000000000
 new_sync_write+0x3d9/0x660 fs/read_write.c:501
 vfs_write+0x7cd/0xae0 fs/read_write.c:590
 ksys_pwrite64 fs/read_write.c:697 [inline]
 __do_sys_pwrite64 fs/read_write.c:707 [inline]
 __se_sys_pwrite64 fs/read_write.c:704 [inline]
 __x64_sys_pwrite64+0x1fd/0x250 fs/read_write.c:704
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f026c372e67
Code: 08 89 3c 24 48 89 4c 24 18 e8 e5 f8 ff ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 48 8b 74 24 08 8b 3c 24 b8 12 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 04 24 e8 15 f9 ff ff 48 8b
RSP: 002b:00007f026ad34e50 EFLAGS: 00000293 ORIG_RAX: 0000000000000012
RAX: ffffffffffffffda RBX: 00007f026c4099c8 RCX: 00007f026c372e67
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 0aaaaaaaaaaaab24 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000004
R13: 0000000000000004 R14: 000000002092c510 R15: 0000000000061d7e
 </TASK>
NMI backtrace for cpu 0
CPU: 0 PID: 20662 Comm: syz-executor.0 Not tainted 5.16.0-rc8-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+0xcd/0x134 lib/dump_stack.c:106
 nmi_cpu_backtrace.cold+0x47/0x144 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x1b3/0x230 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline]
 rcu_dump_cpu_stacks+0x25e/0x3f0 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:3878 [inline]
 rcu_sched_clock_irq.cold+0x5c/0x759 kernel/rcu/tree.c:2597
 update_process_times+0x16d/0x200 kernel/time/timer.c:1785
 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:226
 tick_sched_timer+0x1b0/0x2d0 kernel/time/tick-sched.c:1428
 __run_hrtimer kernel/time/hrtimer.c:1685 [inline]
 __hrtimer_run_queues+0x1c0/0xe50 kernel/time/hrtimer.c:1749
 hrtimer_interrupt+0x31c/0x790 kernel/time/hrtimer.c:1811
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline]
 __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1103
 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1097
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:rcu_lockdep_current_cpu_online kernel/rcu/tree.c:1169 [inline]
RIP: 0010:rcu_lockdep_current_cpu_online+0x28/0x150 kernel/rcu/tree.c:1160
Code: 00 90 65 8b 15 19 24 a0 7e 81 e2 00 00 f0 00 b8 01 00 00 00 75 0a 8b 15 4a d8 2e 0c 85 d2 75 01 c3 55 53 65 ff 05 f8 23 a0 7e <e8> 63 d3 e1 07 48 c7 c3 80 a9 03 00 83 f8 07 89 c5 0f 87 f5 00 00
RSP: 0018:ffffc9001045fb20 EFLAGS: 00000282
RAX: 0000000000000001 RBX: 1ffff9200208bf6b RCX: ffffffff815be368
RDX: 0000000000000001 RSI: 0000000000000002 RDI: ffffffff8b55b8a0
RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff8d912357
R10: fffffbfff1b2246a R11: 0000000000000001 R12: 0000000000000001
R13: 0000000000000000 R14: ffff888020951b98 R15: 0000000000000000
 rcu_read_lock_held_common kernel/rcu/update.c:112 [inline]
 rcu_read_lock_held_common kernel/rcu/update.c:102 [inline]
 rcu_read_lock_sched_held+0x25/0x70 kernel/rcu/update.c:123
 trace_lock_acquire include/trace/events/lock.h:13 [inline]
 lock_acquire+0x442/0x510 kernel/locking/lockdep.c:5608
 down_write+0x90/0x150 kernel/locking/rwsem.c:1523
 inode_lock include/linux/fs.h:783 [inline]
 generic_file_write_iter+0x8a/0x220 mm/filemap.c:3910
 call_write_iter include/linux/fs.h:2162 [inline]
 new_sync_write+0x429/0x660 fs/read_write.c:503
 vfs_write+0x7cd/0xae0 fs/read_write.c:590
 ksys_pwrite64 fs/read_write.c:697 [inline]
 __do_sys_pwrite64 fs/read_write.c:707 [inline]
 __se_sys_pwrite64 fs/read_write.c:704 [inline]
 __x64_sys_pwrite64+0x1fd/0x250 fs/read_write.c:704
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7fa43a589e67
Code: 08 89 3c 24 48 89 4c 24 18 e8 e5 f8 ff ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 48 8b 74 24 08 8b 3c 24 b8 12 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 04 24 e8 15 f9 ff ff 48 8b
RSP: 002b:00007fa438f4be50 EFLAGS: 00000293 ORIG_RAX: 0000000000000012
RAX: ffffffffffffffda RBX: 00007fa43a6209c8 RCX: 00007fa43a589e67
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 0aaaaaaaaaaaab24 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000004
R13: 0000000000000004 R14: 00000000208f1de8 R15: 000000000005f687
 </TASK>
----------------
Code disassembly (best guess):
   0:	44 00 00             	add    %r8b,(%rax)
   3:	48 c7 c6 a0 a0 04 8a 	mov    $0xffffffff8a04a0a0,%rsi
   a:	48 c7 c7 e0 a0 04 8a 	mov    $0xffffffff8a04a0e0,%rdi
  11:	e9 78 fe ff ff       	jmpq   0xfffffe8e
  16:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  1d:	00
  1e:	55                   	push   %rbp
  1f:	48 89 fd             	mov    %rdi,%rbp
  22:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  27:	48 89 ee             	mov    %rbp,%rsi
* 2a:	5d                   	pop    %rbp <-- trapping instruction
  2b:	48 c7 c7 20 a1 04 8a 	mov    $0xffffffff8a04a120,%rdi
  32:	e9 57 fe ff ff       	jmpq   0xfffffe8e
  37:	cc                   	int3
  38:	cc                   	int3
  39:	cc                   	int3
  3a:	cc                   	int3
  3b:	cc                   	int3
  3c:	cc                   	int3
  3d:	cc                   	int3
  3e:	eb 1e                	jmp    0x5e

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-selinux-root 2022/01/09 09:37 upstream 21f35d2ca83e 2ca0d385 .config log report info INFO: rcu detected stall in iov_iter_init
* Struck through repros no longer work on HEAD.