syzbot
INFO: task hung in vfs_unlink (4)
Status:
upstream: reported syz repro on 2025/12/16 11:11
Bug presence:
origin:upstream
[Documentation on labels]
Reported-by: syzbot+c9987fe35beb7fbdc50e@syzkaller.appspotmail.com
First crash: 313d, last: 7d11h
Sample crash report:
INFO: task syz-executor:4472 blocked for more than 143 seconds.
Not tainted syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor state:D stack:22192 pid:4472 ppid:1 flags:0x00004004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5246 [inline]
__schedule+0x107f/0x4030 kernel/sched/core.c:6563
schedule+0xb9/0x180 kernel/sched/core.c:6639
rwsem_down_write_slowpath+0xc99/0x1160 kernel/locking/rwsem.c:1189
inode_lock include/linux/fs.h:764 [inline]
vfs_unlink+0xda/0x600 fs/namei.c:4362
do_unlinkat+0x335/0x580 fs/namei.c:4441
__do_sys_unlink fs/namei.c:4489 [inline]
__se_sys_unlink fs/namei.c:4487 [inline]
__x64_sys_unlink+0x45/0x50 fs/namei.c:4487
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f029699d647
RSP: 002b:00007fff72dfe8e8 EFLAGS: 00000206 ORIG_RAX: 0000000000000057
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f029699d647
RDX: 00007fff72dfe910 RSI: 00007fff72dfe9a0 RDI: 00007fff72dfe9a0
RBP: 00007fff72dfe9a0 R08: 00007fff72dff9a0 R09: 00000000ffffffff
R10: 0000000000000100 R11: 0000000000000206 R12: 00007fff72dffa90
R13: 00007f0296a34efb R14: 000000000005b5bf R15: 00007fff72e00b60
</TASK>
INFO: task syz.1.66:4813 blocked for more than 144 seconds.
Not tainted syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.1.66 state:D stack:20880 pid:4813 ppid:4472 flags:0x00004004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5246 [inline]
__schedule+0x107f/0x4030 kernel/sched/core.c:6563
schedule+0xb9/0x180 kernel/sched/core.c:6639
hfsplus_bnode_find+0x341/0xd00 fs/hfsplus/bnode.c:539
hfs_bnode_split+0x297/0xed0 fs/hfsplus/brec.c:258
hfsplus_brec_insert+0x394/0xcc0 fs/hfsplus/brec.c:100
__hfsplus_ext_write_extent+0x318/0x520 fs/hfsplus/extents.c:107
__hfsplus_ext_cache_extent+0x81/0xbd0 fs/hfsplus/extents.c:186
hfsplus_ext_read_extent fs/hfsplus/extents.c:218 [inline]
hfsplus_file_extend+0x4b9/0x1a40 fs/hfsplus/extents.c:459
hfsplus_get_block+0x41d/0x1520 fs/hfsplus/extents.c:245
__block_write_begin_int+0x577/0x1ab0 fs/buffer.c:1991
__block_write_begin fs/buffer.c:2041 [inline]
block_write_begin+0x96/0x1e0 fs/buffer.c:2102
cont_write_begin+0x5f9/0x800 fs/buffer.c:2456
hfsplus_write_begin+0x87/0xd0 fs/hfsplus/inode.c:52
generic_perform_write+0x2fa/0x5c0 mm/filemap.c:3862
__generic_file_write_iter+0x148/0x2a0 mm/filemap.c:3960
generic_file_write_iter+0xab/0x2e0 mm/filemap.c:3989
__kernel_write_iter+0x298/0x690 fs/read_write.c:517
dump_emit_page fs/coredump.c:950 [inline]
dump_user_range+0x40a/0x840 fs/coredump.c:977
elf_core_dump+0x30ca/0x3630 fs/binfmt_elf.c:2354
do_coredump+0x16c1/0x2480 fs/coredump.c:824
get_signal+0x1093/0x1340 kernel/signal.c:2870
arch_do_signal_or_restart+0xc4/0x1310 arch/x86/kernel/signal.c:871
exit_to_user_mode_loop+0x70/0x110 kernel/entry/common.c:177
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:213
irqentry_exit_to_user_mode+0x5/0x30 kernel/entry/common.c:319
exc_page_fault+0x88/0x100 arch/x86/mm/fault.c:1485
asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:608
RIP: 0033:0x7f029699e561
RSP: 002b:fffffffffffffe70 EFLAGS: 00010217
RAX: 0000000000000000 RBX: 00007f0296c26090 RCX: 00007f029699e559
RDX: 0000000000000000 RSI: fffffffffffffe70 RDI: 0000000000008000
RBP: 00007f0296a35ab8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000
R13: 00007f0296c26128 R14: 00007f0296c26090 R15: 00007fff72e00768
</TASK>
Showing all locks held in the system:
2 locks held by kworker/u4:0/9:
2 locks held by kworker/u4:1/11:
1 lock held by rcu_tasks_kthre/12:
#0: ffffffff8d92e230 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x33/0xef0 kernel/rcu/tasks.h:517
1 lock held by rcu_tasks_trace/13:
#0: ffffffff8d92ea50 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x33/0xef0 kernel/rcu/tasks.h:517
1 lock held by khungtaskd/28:
#0: ffffffff8d92d8a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
#0: ffffffff8d92d8a0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline]
#0: ffffffff8d92d8a0 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x51/0x290 kernel/locking/lockdep.c:6669
3 locks held by kworker/u4:3/47:
2 locks held by getty/4027:
#0: ffff888030dcc098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:244
#1: ffffc9000327b2f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x41e/0x1360 drivers/tty/n_tty.c:2198
1 lock held by udevd/4350:
1 lock held by udevd/4354:
1 lock held by udevd/4355:
4 locks held by kworker/u4:6/4411:
#0: ffff88801d667138 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x7b4/0x1160 kernel/workqueue.c:2267
#1: ffffc90003287d00 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x7b4/0x1160 kernel/workqueue.c:2267
#2: ffff88805fa900e0 (&type->s_umount_key#53){++++}-{3:3}, at: trylock_super+0x1c/0xf0 fs/super.c:415
#3: ffff88805ba9e288 (&hip->extents_lock){+.+.}-{3:3}, at: hfsplus_ext_write_extent+0x8d/0x230 fs/hfsplus/extents.c:149
3 locks held by syz-executor/4472:
#0: ffff88802a0f4460 (sb_writers#13){.+.+}-{0:0}, at: mnt_want_write+0x3d/0x90 fs/namespace.c:402
#1: ffff88805b0350b0 (&type->i_mutex_dir_key#8/1){+.+.}-{3:3}, at: inode_lock_nested include/linux/fs.h:799 [inline]
#1: ffff88805b0350b0 (&type->i_mutex_dir_key#8/1){+.+.}-{3:3}, at: do_unlinkat+0x189/0x580 fs/namei.c:4424
#2: ffff88805b0336b0 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:764 [inline]
#2: ffff88805b0336b0 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: vfs_unlink+0xda/0x600 fs/namei.c:4362
3 locks held by syz-executor/4477:
#0: ffff88805fa90460 (sb_writers#13){.+.+}-{0:0}, at: mnt_want_write+0x3d/0x90 fs/namespace.c:402
#1: ffff888023ba36b0 (&type->i_mutex_dir_key#8/1){+.+.}-{3:3}, at: inode_lock_nested include/linux/fs.h:799 [inline]
#1: ffff888023ba36b0 (&type->i_mutex_dir_key#8/1){+.+.}-{3:3}, at: do_unlinkat+0x189/0x580 fs/namei.c:4424
#2: ffff88805ba9e430 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:764 [inline]
#2: ffff88805ba9e430 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: vfs_unlink+0xda/0x600 fs/namei.c:4362
4 locks held by kworker/u4:8/4571:
#0: ffff88801d667138 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x7b4/0x1160 kernel/workqueue.c:2267
#1: ffffc90003597d00 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x7b4/0x1160 kernel/workqueue.c:2267
#2: ffff88802a0f40e0 (&type->s_umount_key#53){++++}-{3:3}, at: trylock_super+0x1c/0xf0 fs/super.c:415
#3: ffff88805b033508 (&hip->extents_lock){+.+.}-{3:3}, at: hfsplus_ext_write_extent+0x8d/0x230 fs/hfsplus/extents.c:149
4 locks held by syz.1.66/4813:
#0: ffff88802a0f4460 (sb_writers#13){.+.+}-{0:0}, at: do_coredump+0x169d/0x2480 fs/coredump.c:823
#1: ffff88805b0336b0 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:764 [inline]
#1: ffff88805b0336b0 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: generic_file_write_iter+0x7f/0x2e0 mm/filemap.c:3986
#2: ffff88805b033508 (&hip->extents_lock){+.+.}-{3:3}, at: hfsplus_file_extend+0x1ca/0x1a40 fs/hfsplus/extents.c:455
#3: ffff88802a0f60b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfsplus_find_init+0x150/0x1c0 fs/hfsplus/bfind.c:28
1 lock held by syz-executor/4925:
#0: ffffffff8d933578 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:291 [inline]
#0: ffffffff8d933578 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x2ec/0x890 kernel/rcu/tree_exp.h:962
4 locks held by syz.4.146/5159:
#0: ffff88805fa90460 (sb_writers#13){.+.+}-{0:0}, at: do_coredump+0x169d/0x2480 fs/coredump.c:823
#1: ffff88805ba9e430 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:764 [inline]
#1: ffff88805ba9e430 (&sb->s_type->i_mutex_key#22){+.+.}-{3:3}, at: generic_file_write_iter+0x7f/0x2e0 mm/filemap.c:3986
#2: ffff88805ba9e288 (&hip->extents_lock){+.+.}-{3:3}, at: hfsplus_file_extend+0x1ca/0x1a40 fs/hfsplus/extents.c:455
#3: ffff88807d1f00b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfsplus_find_init+0x150/0x1c0 fs/hfsplus/bfind.c:28
2 locks held by kworker/u4:10/5329:
6 locks held by syz.6.289/5778:
1 lock held by syz.0.286/5777:
=============================================
NMI backtrace for cpu 1
CPU: 1 PID: 28 Comm: khungtaskd Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026
Call Trace:
<TASK>
dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
nmi_cpu_backtrace+0x3e6/0x460 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x1d4/0x450 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:220 [inline]
watchdog+0xf0e/0xf50 kernel/hung_task.c:377
kthread+0x29d/0x330 kernel/kthread.c:376
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 skipped: idling at native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
NMI backtrace for cpu 0 skipped: idling at arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
NMI backtrace for cpu 0 skipped: idling at default_idle+0xb/0x10 arch/x86/kernel/process.c:741
* Struck through repros no longer work on HEAD.