syzbot


INFO: rcu detected stall in ext4_file_write_iter

Status: fixed on 2020/09/25 01:17
Reported-by: syzbot+7d19c5fe6a3f1161abb7@syzkaller.appspotmail.com
Fix commit: 7e24969022cb block: allow for_each_bvec to support zero len bvec
First crash: 1418d, last: 847d

Cause bisection: the issue happens on the oldest tested release (bisect log)
Crash: INFO: rcu detected stall in ext4_file_write_iter (log)
Repro: C syz .config

Fix bisection: fixed by (bisect log) :
commit 7e24969022cbd61ddc586f14824fc205661bb124
Author: Ming Lei <ming.lei@redhat.com>
Date: Mon Aug 17 10:00:55 2020 +0000

  block: allow for_each_bvec to support zero len bvec

similar bugs (7):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in ext4_file_write_iter (3) 5 484d 574d 0/24 auto-closed as invalid on 2021/11/07 19:52
upstream INFO: rcu detected stall in ext4_file_write_iter (5) 3 225d 225d 0/24 auto-closed as invalid on 2022/06/25 07:58
upstream INFO: rcu detected stall in ext4_file_write_iter (4) C unreliable 58 320d 349d 0/24 closed as invalid on 2022/02/08 10:32
android-49 INFO: rcu detected stall in ext4_file_write_iter syz 2 1282d 1324d 0/3 public: reported syz repro on 2019/04/23 08:58
upstream INFO: rcu detected stall in ext4_file_write_iter (2) 1 785d 785d 0/24 auto-closed as invalid on 2021/01/10 12:58
linux-4.14 INFO: rcu detected stall in ext4_file_write_iter C 7 40d 1334d 0/1 upstream: reported C repro on 2019/04/12 16:30
linux-4.19 INFO: rcu detected stall in ext4_file_write_iter C error 7 442d 1326d 0/1 upstream: reported C repro on 2019/04/20 13:09

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	1-...!: (1 GPs behind) idle=5ce/1/0x4000000000000000 softirq=71451/71452 fqs=11 
	(t=10501 jiffies g=80885 q=481)
rcu: rcu_preempt kthread starved for 10480 jiffies! g80885 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
rcu_preempt     R  running task    29472    10      2 0x00004000
Call Trace:
 context_switch kernel/sched/core.c:3458 [inline]
 __schedule+0x8ea/0x2210 kernel/sched/core.c:4219
 schedule+0xd0/0x2a0 kernel/sched/core.c:4294
 schedule_timeout+0x148/0x250 kernel/time/timer.c:1908
 rcu_gp_fqs_loop kernel/rcu/tree.c:1874 [inline]
 rcu_gp_kthread+0xae5/0x1b50 kernel/rcu/tree.c:2044
 kthread+0x3b5/0x4a0 kernel/kthread.c:291
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293
NMI backtrace for cpu 1
CPU: 1 PID: 27186 Comm: syz-executor533 Not tainted 5.8.0-rc7-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:77 [inline]
 dump_stack+0x18f/0x20d lib/dump_stack.c:118
 nmi_cpu_backtrace.cold+0x70/0xb1 lib/nmi_backtrace.c:101
 nmi_trigger_cpumask_backtrace+0x1b3/0x223 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline]
 rcu_dump_cpu_stacks+0x194/0x1cf kernel/rcu/tree_stall.h:320
 print_cpu_stall kernel/rcu/tree_stall.h:553 [inline]
 check_cpu_stall kernel/rcu/tree_stall.h:627 [inline]
 rcu_pending kernel/rcu/tree.c:3489 [inline]
 rcu_sched_clock_irq.cold+0x5b3/0xccc kernel/rcu/tree.c:2504
 update_process_times+0x25/0x60 kernel/time/timer.c:1737
 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:176
 tick_sched_timer+0x108/0x290 kernel/time/tick-sched.c:1320
 __run_hrtimer kernel/time/hrtimer.c:1520 [inline]
 __hrtimer_run_queues+0x1d5/0xfc0 kernel/time/hrtimer.c:1584
 hrtimer_interrupt+0x32a/0x930 kernel/time/hrtimer.c:1646
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1080 [inline]
 __sysvec_apic_timer_interrupt+0x142/0x5e0 arch/x86/kernel/apic/apic.c:1097
 asm_call_on_stack+0xf/0x20 arch/x86/entry/entry_64.S:711
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline]
 sysvec_apic_timer_interrupt+0xe0/0x120 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:585
RIP: 0010:write_comp_data+0x2f/0x80 kernel/kcov.c:218
Code: 05 a6 46 8e 7e 65 48 8b 34 25 00 ff 01 00 a9 00 01 ff 00 74 0f f6 c4 01 74 59 8b 86 04 14 00 00 85 c0 74 4f 8b 86 e0 13 00 00 <83> f8 03 75 44 48 8b 86 e8 13 00 00 8b b6 e4 13 00 00 4c 8b 00 48
RSP: 0018:ffffc900055776e8 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8395f2ab
RDX: 0000000000000000 RSI: ffff8880a6a78300 RDI: 0000000000000005
RBP: 0000000000000000 R08: 0000000000000000 R09: ffff888083de5abf
R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880a06e0c00
R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000000
 bvec_iter_advance include/linux/bvec.h:110 [inline]
 iov_iter_copy_from_user_atomic+0x62b/0xbe0 lib/iov_iter.c:1000
 generic_perform_write+0x277/0x4f0 mm/filemap.c:3326
 ext4_buffered_write_iter+0x235/0x4a0 fs/ext4/file.c:270
 ext4_file_write_iter+0x1f3/0x13d0 fs/ext4/file.c:655
 call_write_iter include/linux/fs.h:1908 [inline]
 do_iter_readv_writev+0x567/0x780 fs/read_write.c:713
 do_iter_write+0x188/0x5f0 fs/read_write.c:1018
 vfs_iter_write+0x70/0xa0 fs/read_write.c:1059
 iter_file_splice_write+0x721/0xbe0 fs/splice.c:750
 do_splice_from fs/splice.c:846 [inline]
 do_splice+0xbcd/0x1820 fs/splice.c:1144
 __do_sys_splice fs/splice.c:1419 [inline]
 __se_sys_splice fs/splice.c:1401 [inline]
 __x64_sys_splice+0x198/0x250 fs/splice.c:1401
 do_syscall_64+0x60/0xe0 arch/x86/entry/common.c:384
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x447cf9
Code: e8 5c e6 ff ff 48 83 c4 18 c3 0f 1f 80 00 00 00 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 0f 83 4b 06 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f3cabb9ecd8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113
RAX: ffffffffffffffda RBX: 00000000006e39e8 RCX: 0000000000447cf9
RDX: 0000000000000005 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 00000000006e39e0 R08: 0000000000010005 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000006e39ec
R13: 00007ffc875f6e9f R14: 00007f3cabb9f9c0 R15: 20c49ba5e353f7cf

Crashes (93):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-root 2020/07/28 11:24 upstream 92ed30191993 cb93dc6a .config log report syz C
ci-upstream-kasan-gce-selinux-root 2020/07/27 20:57 upstream 92ed30191993 cb93dc6a .config log report syz C
ci-upstream-kasan-gce 2020/07/25 15:41 upstream 68845a55c31b 1f7cc1ca .config log report syz C
ci-upstream-kasan-gce 2020/07/24 04:54 upstream d15be546031c 70c104a1 .config log report syz C
ci-upstream-kasan-gce-smack-root 2019/06/22 20:00 upstream abf02e2964b3 34bf9440 .config log report syz C
ci-upstream-kasan-gce-root 2019/05/03 16:28 upstream ea9866793d1e 1bfa09b9 .config log report syz C
ci-upstream-kasan-gce-root 2019/04/12 03:29 upstream 2d06b235815e 13030ef8 .config log report syz C
ci-upstream-kasan-gce-selinux-root 2019/02/22 06:00 upstream 8a61716ff2ab 7ff74a98 .config log report syz C
ci-upstream-linux-next-kasan-gce-root 2020/07/30 16:29 linux-next 04b457178630 233283a1 .config log report syz C
ci-upstream-linux-next-kasan-gce-root 2019/06/30 05:07 linux-next 48568d8c7f47 7509bf36 .config log report syz C
ci-upstream-kasan-gce-root 2020/07/28 01:23 upstream 92ed30191993 cb93dc6a .config log report syz
ci-upstream-kasan-gce-selinux-root 2020/07/27 09:43 upstream 92ed30191993 51265195 .config log report syz
ci-upstream-kasan-gce-smack-root 2020/07/25 11:27 upstream 68845a55c31b 1f7cc1ca .config log report syz
ci-upstream-linux-next-kasan-gce-root 2020/07/27 05:47 linux-next 26027945c94a 51265195 .config log report syz
ci-upstream-kasan-gce-selinux-root 2020/08/11 10:29 upstream 00e4db51259a bacaf5fa .config log report
ci-upstream-kasan-gce-smack-root 2020/07/29 09:26 upstream 6ba1b005ffc3 19a8de55 .config log report
ci-upstream-kasan-gce-selinux-root 2020/05/23 21:45 upstream 423b8baf18a8 9682898d .config log report
ci-upstream-kasan-gce-root 2020/04/21 02:39 upstream ae83d0b416db 98a9f9e6 .config log report
ci-upstream-kasan-gce-root 2020/04/18 08:08 upstream 95988fbc7c31 435c6d53 .config log report
ci-upstream-kasan-gce-root 2020/04/02 21:11 upstream 7be97138e727 a34e2c33 .config log report
ci-upstream-kasan-gce-root 2020/03/26 03:05 upstream 1b649e0bcae7 e8e6c7d2 .config log report
ci-upstream-kasan-gce-selinux-root 2020/03/19 18:23 upstream cd607737f3b8 2c31c529 .config log report
ci-upstream-kasan-gce-root 2020/03/11 09:50 upstream e94148454103 35f53e45 .config log report
ci-upstream-kasan-gce-selinux-root 2020/03/04 15:44 upstream 63623fd44972 c88c7b75 .config log report
ci-upstream-kasan-gce-selinux-root 2020/02/28 07:43 upstream f8788d86ab28 59b57593 .config log report
ci-upstream-kasan-gce-root 2020/02/17 15:26 upstream 11a48a5a18c6 2b411596 .config log report
ci-upstream-kasan-gce-selinux-root 2020/02/17 12:56 upstream 11a48a5a18c6 2b411596 .config log report
ci-upstream-kasan-gce-selinux-root 2020/02/15 22:49 upstream 829e69446995 5d7b90f1 .config log report
ci-upstream-kasan-gce-smack-root 2020/02/12 14:36 upstream 359c92c02bfa 84f4fc8a .config log report
ci-upstream-kasan-gce-selinux-root 2020/02/12 03:58 upstream 359c92c02bfa a75b198c .config log report
ci-upstream-kasan-gce-selinux-root 2020/02/11 15:39 upstream 0a679e13ea30 4d1ab643 .config log report
ci-upstream-kasan-gce-root 2020/02/03 23:16 upstream 754beeec1d90 93e5e335 .config log report
ci-upstream-kasan-gce-root 2020/01/12 22:47 upstream 6327edceb62b 31290a45 .config log report
ci-upstream-kasan-gce-smack-root 2020/01/08 02:23 upstream ae6088216ce4 6738e0b3 .config log report
ci-upstream-kasan-gce-smack-root 2020/01/08 01:13 upstream ae6088216ce4 6738e0b3 .config log report
ci-upstream-kasan-gce-root 2019/12/25 18:45 upstream 46cf053efec6 be5c2c81 .config log report
ci-upstream-kasan-gce-selinux-root 2019/12/21 11:32 upstream 6398b9fc818e bc586918 .config log report
ci-upstream-kasan-gce-smack-root 2019/12/03 09:47 upstream 596cf45cbf6e ab342da3 .config log report
ci-upstream-kasan-gce-smack-root 2019/12/02 23:38 upstream 596cf45cbf6e ab342da3 .config log report
ci-upstream-kasan-gce-root 2019/07/20 15:14 upstream abdfd52a295f 1656845f .config log report
ci-upstream-kasan-gce-smack-root 2019/06/20 07:02 upstream abf02e2964b3 34bf9440 .config log report
ci-upstream-kasan-gce-selinux-root 2019/06/14 09:21 upstream c11fb13a117e 998ccc76 .config log report
ci-upstream-kasan-gce-smack-root 2019/06/14 09:19 upstream c11fb13a117e 998ccc76 .config log report
ci-upstream-kasan-gce-root 2019/06/14 09:19 upstream c11fb13a117e 998ccc76 .config log report
ci-upstream-kasan-gce-root 2019/06/13 12:05 upstream b076173a309e 3f4e812b .config log report
ci-upstream-kasan-gce-smack-root 2019/01/19 05:29 upstream 2339e91d0e66 2103a236 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/06/13 19:36 linux-next e7b08814b16b dbce178a .config log report
ci-upstream-linux-next-kasan-gce-root 2020/06/13 06:12 linux-next e7b08814b16b f4724dd3 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/04/14 14:59 linux-next f19bb13a0eaf 3f3c5574 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/03/09 22:00 linux-next 770fbb32d34e 35f53e45 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/02/18 07:04 linux-next c25a951c50dc 1ce142dc .config log report
ci-upstream-linux-next-kasan-gce-root 2020/02/16 03:06 linux-next 9f01828e9e16 5d7b90f1 .config log report
ci-upstream-linux-next-kasan-gce-root 2020/02/06 18:46 linux-next a0c61bf1c773 c91cbc9d .config log report
ci-upstream-linux-next-kasan-gce-root 2019/07/20 01:36 linux-next 6d21a41b7b1f 1656845f .config log report
ci-upstream-linux-next-kasan-gce-root 2019/07/02 08:57 linux-next 48a8a5f9a326 cccc4302 .config log report
ci-upstream-linux-next-kasan-gce-root 2019/06/23 05:58 linux-next dc636f5d78de 34bf9440 .config log report
ci-upstream-linux-next-kasan-gce-root 2019/06/17 14:26 linux-next a125097c8410 442206d7 .config log report
* Struck through repros no longer work on HEAD.