syzbot


INFO: task hung in blkdev_fsync (2)

Status: closed as invalid on 2022/02/08 09:40
Subsystems: kasan mm
[Documentation on labels]
First crash: 890d, last: 890d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-44 INFO: task hung in blkdev_fsync 42 2208d 2285d 0/2 auto-closed as invalid on 2019/02/22 13:49
upstream INFO: task hung in blkdev_fsync fs 29 2221d 2284d 0/26 closed as dup on 2018/02/14 15:37
android-49 INFO: task hung in blkdev_fsync 61 2133d 2284d 0/3 auto-closed as invalid on 2019/02/22 15:27

Sample crash report:
INFO: task syz-executor.5:12346 blocked for more than 143 seconds.
      Not tainted 5.16.0-rc3-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.5  state:D stack:23416 pid:12346 ppid:  7396 flags:0x00004004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:4972 [inline]
 __schedule+0xa9a/0x4940 kernel/sched/core.c:6253
 schedule+0xd2/0x260 kernel/sched/core.c:6326
 io_schedule+0xee/0x170 kernel/sched/core.c:8371
 folio_wait_bit_common+0x4f2/0xa60 mm/filemap.c:1371
 folio_wait_writeback+0x37/0x300 mm/page-writeback.c:2925
 __filemap_fdatawait_range+0x135/0x3a0 mm/filemap.c:543
 file_write_and_wait_range+0x19d/0x1e0 mm/filemap.c:828
 blkdev_fsync+0x4a/0xa0 block/fops.c:465
 vfs_fsync_range+0x13a/0x220 fs/sync.c:182
 generic_write_sync include/linux/fs.h:2955 [inline]
 blkdev_write_iter+0x552/0x690 block/fops.c:559
 call_write_iter include/linux/fs.h:2162 [inline]
 do_iter_readv_writev+0x472/0x750 fs/read_write.c:725
 do_iter_write+0x188/0x710 fs/read_write.c:851
 vfs_iter_write+0x70/0xa0 fs/read_write.c:892
 iter_file_splice_write+0x723/0xc70 fs/splice.c:689
 do_splice_from fs/splice.c:767 [inline]
 direct_splice_actor+0x110/0x180 fs/splice.c:936
 splice_direct_to_actor+0x34b/0x8c0 fs/splice.c:891
 do_splice_direct+0x1b3/0x280 fs/splice.c:979
 do_sendfile+0xaf2/0x1250 fs/read_write.c:1245
 __do_sys_sendfile64 fs/read_write.c:1310 [inline]
 __se_sys_sendfile64 fs/read_write.c:1296 [inline]
 __x64_sys_sendfile64+0x1cc/0x210 fs/read_write.c:1296
 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:0x7fe0158a7ae9
RSP: 002b:00007fe012e1d188 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007fe0159baf60 RCX: 00007fe0158a7ae9
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000003
RBP: 00007fe015901f6d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000080006 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fe015eeeb2f R14: 00007fe012e1d300 R15: 0000000000022000
 </TASK>
INFO: task syz-executor.5:12349 blocked for more than 144 seconds.
      Not tainted 5.16.0-rc3-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.5  state:D stack:24264 pid:12349 ppid:  7396 flags:0x00004004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:4972 [inline]
 __schedule+0xa9a/0x4940 kernel/sched/core.c:6253
 schedule+0xd2/0x260 kernel/sched/core.c:6326
 io_schedule+0xee/0x170 kernel/sched/core.c:8371
 folio_wait_bit_common+0x4f2/0xa60 mm/filemap.c:1371
 folio_wait_writeback+0x37/0x300 mm/page-writeback.c:2925
 write_cache_pages+0x552/0x10c0 mm/page-writeback.c:2245
 generic_writepages mm/page-writeback.c:2346 [inline]
 generic_writepages+0xe2/0x150 mm/page-writeback.c:2335
 do_writepages+0x1ab/0x690 mm/page-writeback.c:2364
 filemap_fdatawrite_wbc mm/filemap.c:407 [inline]
 filemap_fdatawrite_wbc+0x143/0x1b0 mm/filemap.c:397
 __filemap_fdatawrite_range mm/filemap.c:440 [inline]
 file_write_and_wait_range+0x163/0x1e0 mm/filemap.c:824
 blkdev_fsync+0x4a/0xa0 block/fops.c:465
 vfs_fsync_range+0x13a/0x220 fs/sync.c:182
 generic_write_sync include/linux/fs.h:2955 [inline]
 blkdev_write_iter+0x552/0x690 block/fops.c:559
 call_write_iter include/linux/fs.h:2162 [inline]
 do_iter_readv_writev+0x472/0x750 fs/read_write.c:725
 do_iter_write+0x188/0x710 fs/read_write.c:851
 vfs_iter_write+0x70/0xa0 fs/read_write.c:892
 iter_file_splice_write+0x723/0xc70 fs/splice.c:689
 do_splice_from fs/splice.c:767 [inline]
 direct_splice_actor+0x110/0x180 fs/splice.c:936
 splice_direct_to_actor+0x34b/0x8c0 fs/splice.c:891
 do_splice_direct+0x1b3/0x280 fs/splice.c:979
 do_sendfile+0xaf2/0x1250 fs/read_write.c:1245
 __do_sys_sendfile64 fs/read_write.c:1310 [inline]
 __se_sys_sendfile64 fs/read_write.c:1296 [inline]
 __x64_sys_sendfile64+0x1cc/0x210 fs/read_write.c:1296
 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:0x7fe0158a7ae9
RSP: 002b:00007fe012ddb188 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007fe0159bb0e0 RCX: 00007fe0158a7ae9
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000003
RBP: 00007fe015901f6d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000080006 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fe015eeeb2f R14: 00007fe012ddb300 R15: 0000000000022000
 </TASK>

Showing all locks held in the system:
3 locks held by kworker/u4:1/10:
 #0: ffff888142584138 ((wq_completion)writeback){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline]
 #0: ffff888142584138 ((wq_completion)writeback){+.+.}-{0:0}, at: arch_atomic_long_set include/linux/atomic/atomic-long.h:41 [inline]
 #0: ffff888142584138 ((wq_completion)writeback){+.+.}-{0:0}, at: atomic_long_set include/linux/atomic/atomic-instrumented.h:1198 [inline]
 #0: ffff888142584138 ((wq_completion)writeback){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:635 [inline]
 #0: ffff888142584138 ((wq_completion)writeback){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:662 [inline]
 #0: ffff888142584138 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x896/0x1690 kernel/workqueue.c:2269
 #1: ffffc90000cf7db0 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x8ca/0x1690 kernel/workqueue.c:2273
 #2: ffff888010e620e0 (&type->s_umount_key#48){.+.+}-{3:3}, at: trylock_super+0x1d/0x100 fs/super.c:418
1 lock held by khungtaskd/27:
 #0: ffffffff8bb83b60 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6458
6 locks held by kworker/0:1H/107:
2 locks held by kworker/u4:4/985:
1 lock held by in:imklog/6235:
 #0: ffff888022588d70 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:990
2 locks held by agetty/6464:
 #0: ffff88807e6b4098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x22/0x80 drivers/tty/tty_ldisc.c:252
 #1: ffffc90002af82e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0xcf0/0x1230 drivers/tty/n_tty.c:2113

=============================================

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.16.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <TASK>
 __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_all_cpu_backtrace include/linux/nmi.h:146 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:210 [inline]
 watchdog+0xc1d/0xf50 kernel/hung_task.c:295
 kthread+0x405/0x4f0 kernel/kthread.c:327
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 985 Comm: kworker/u4:4 Not tainted 5.16.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events_unbound toggle_allocation_gate
RIP: 0010:lookup_chain_cache kernel/locking/lockdep.c:3695 [inline]
RIP: 0010:lookup_chain_cache_add kernel/locking/lockdep.c:3714 [inline]
RIP: 0010:validate_chain kernel/locking/lockdep.c:3769 [inline]
RIP: 0010:__lock_acquire+0x16ab/0x54a0 kernel/locking/lockdep.c:5027
Code: db 74 58 48 83 eb 08 74 52 48 ba 00 00 00 00 00 fc ff df eb 06 48 83 eb 08 74 40 48 8d 7b 18 48 89 f8 48 c1 e8 03 80 3c 10 00 <0f> 85 31 2a 00 00 48 8b 43 18 49 39 c7 0f 84 ec f5 ff ff 48 8d 7b
RSP: 0018:ffffc900049ff430 EFLAGS: 00000046
RAX: 1ffffffff1e5a8a7 RBX: ffffffff8f2d4520 RCX: ffffffff815c740f
RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffffff8f2d4538
RBP: 000000000000162e R08: 0000000000000000 R09: ffffffff8ff72a07
R10: fffffbfff1fee540 R11: ffff8880b9d39bf8 R12: ffff88801b91c4d8
R13: ffff88801b91ba00 R14: 0000000000000000 R15: 7d8f78c92460710f
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fffce3e1720 CR3: 000000000b88e000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 410699049f307356
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 lock_acquire kernel/locking/lockdep.c:5637 [inline]
 lock_acquire+0x1ab/0x510 kernel/locking/lockdep.c:5602
 _raw_spin_lock_nested+0x30/0x40 kernel/locking/spinlock.c:368
 raw_spin_rq_lock_nested+0x2b/0x120 kernel/sched/core.c:478
 raw_spin_rq_lock kernel/sched/sched.h:1316 [inline]
 _raw_spin_rq_lock_irqsave kernel/sched/sched.h:1335 [inline]
 rq_lock_irqsave kernel/sched/sched.h:1598 [inline]
 load_balance+0xc25/0x2b10 kernel/sched/fair.c:9910
 newidle_balance+0x6f2/0x1190 kernel/sched/fair.c:10926
 pick_next_task_fair+0x96/0xe00 kernel/sched/fair.c:7347
 __pick_next_task kernel/sched/core.c:5593 [inline]
 pick_next_task kernel/sched/core.c:5665 [inline]
 __schedule+0x3e8/0x4940 kernel/sched/core.c:6217
 schedule+0xd2/0x260 kernel/sched/core.c:6326
 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881
 toggle_allocation_gate mm/kfence/core.c:739 [inline]
 toggle_allocation_gate+0x305/0x390 mm/kfence/core.c:724
 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2298
 worker_thread+0x658/0x11f0 kernel/workqueue.c:2445
 kthread+0x405/0x4f0 kernel/kthread.c:327
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
----------------
Code disassembly (best guess):
   0:	db 74 58 48          	(bad)  0x48(%rax,%rbx,2)
   4:	83 eb 08             	sub    $0x8,%ebx
   7:	74 52                	je     0x5b
   9:	48 ba 00 00 00 00 00 	movabs $0xdffffc0000000000,%rdx
  10:	fc ff df
  13:	eb 06                	jmp    0x1b
  15:	48 83 eb 08          	sub    $0x8,%rbx
  19:	74 40                	je     0x5b
  1b:	48 8d 7b 18          	lea    0x18(%rbx),%rdi
  1f:	48 89 f8             	mov    %rdi,%rax
  22:	48 c1 e8 03          	shr    $0x3,%rax
  26:	80 3c 10 00          	cmpb   $0x0,(%rax,%rdx,1)
* 2a:	0f 85 31 2a 00 00    	jne    0x2a61 <-- trapping instruction
  30:	48 8b 43 18          	mov    0x18(%rbx),%rax
  34:	49 39 c7             	cmp    %rax,%r15
  37:	0f 84 ec f5 ff ff    	je     0xfffff629
  3d:	48                   	rex.W
  3e:	8d                   	.byte 0x8d
  3f:	7b                   	.byte 0x7b

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/12/02 13:40 upstream 58e1100fdc59 61f86278 .config console log report info ci-upstream-kasan-gce INFO: task hung in blkdev_fsync
* Struck through repros no longer work on HEAD.