INFO: task hung in fuse_reverse_inval_entry

6 views
Skip to first unread message

syzbot

unread,
Sep 5, 2021, 3:48:21 PM9/5/21
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: b172b44fcb17 Linux 4.19.206
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11527186300000
kernel config: https://syzkaller.appspot.com/x/.config?x=b9ba3521ce0be3cd
dashboard link: https://syzkaller.appspot.com/bug?extid=0821d8611ba946d5e4ab
compiler: gcc version 10.2.1 20210110 (Debian 10.2.1-6)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11a61c93300000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1648aa69300000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+0821d8...@syzkaller.appspotmail.com

INFO: task syz-executor412:8108 blocked for more than 140 seconds.
Not tainted 4.19.206-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor412 D27344 8108 8106 0x00000004
Call Trace:
context_switch kernel/sched/core.c:2828 [inline]
__schedule+0x887/0x2040 kernel/sched/core.c:3517
schedule+0x8d/0x1b0 kernel/sched/core.c:3561
__rwsem_down_write_failed_common kernel/locking/rwsem-xadd.c:589 [inline]
rwsem_down_write_failed+0x3aa/0x760 kernel/locking/rwsem-xadd.c:618
call_rwsem_down_write_failed+0x13/0x20 arch/x86/lib/rwsem.S:117
__down_write arch/x86/include/asm/rwsem.h:142 [inline]
down_write+0x4f/0x90 kernel/locking/rwsem.c:72
inode_lock include/linux/fs.h:748 [inline]
fuse_reverse_inval_entry+0xaa/0x660 fs/fuse/dir.c:987
fuse_notify_inval_entry fs/fuse/dev.c:1535 [inline]
fuse_notify fs/fuse/dev.c:1810 [inline]
fuse_dev_do_write+0x251c/0x2bc0 fs/fuse/dev.c:1894
fuse_dev_write+0x153/0x1e0 fs/fuse/dev.c:1978
call_write_iter include/linux/fs.h:1821 [inline]
new_sync_write fs/read_write.c:474 [inline]
__vfs_write+0x51b/0x770 fs/read_write.c:487
vfs_write+0x1f3/0x540 fs/read_write.c:549
ksys_write+0x12b/0x2a0 fs/read_write.c:599
do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x44af59
Code: Bad RIP value.
RSP: 002b:00007f5e3c411208 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00000000004cb4e8 RCX: 000000000044af59
RDX: 0000000000000029 RSI: 00000000200043c0 RDI: 0000000000000003
RBP: 00000000004cb4e0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004cb4ec
R13: 00007ffdf5d1898f R14: 00007f5e3c411300 R15: 0000000000022000
INFO: task syz-executor412:8113 blocked for more than 140 seconds.
Not tainted 4.19.206-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor412 D28488 8113 8106 0x00000004
Call Trace:
context_switch kernel/sched/core.c:2828 [inline]
__schedule+0x887/0x2040 kernel/sched/core.c:3517
schedule+0x8d/0x1b0 kernel/sched/core.c:3561
request_wait_answer+0x3dc/0x750 fs/fuse/dev.c:485
__fuse_request_send+0x123/0x1c0 fs/fuse/dev.c:505
fuse_simple_request+0x2e6/0x820 fs/fuse/dev.c:576
fuse_lookup_name+0x24c/0x5c0 fs/fuse/dir.c:330
fuse_lookup+0xdf/0x410 fs/fuse/dir.c:368
__lookup_hash+0x117/0x180 fs/namei.c:1547
filename_create+0x186/0x490 fs/namei.c:3639
user_path_create fs/namei.c:3696 [inline]
do_mkdirat+0xa0/0x2d0 fs/namei.c:3834
do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x44af59
Code: Bad RIP value.
RSP: 002b:00007f5e3c3f0208 EFLAGS: 00000246 ORIG_RAX: 0000000000000102
RAX: ffffffffffffffda RBX: 00000000004cb4f8 RCX: 000000000044af59
RDX: 0000000000000000 RSI: 0000000020004380 RDI: 00000000ffffff9c
RBP: 00000000004cb4f0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004cb4fc
R13: 00007ffdf5d1898f R14: 00007f5e3c3f0300 R15: 0000000000022000

Showing all locks held in the system:
1 lock held by khungtaskd/1490:
#0: 000000006da82cfa (rcu_read_lock){....}, at: debug_show_all_locks+0x53/0x265 kernel/locking/lockdep.c:4441
1 lock held by in:imklog/7808:
#0: 00000000965495d9 (&f->f_pos_lock){+.+.}, at: __fdget_pos+0x26f/0x310 fs/file.c:767
2 locks held by syz-executor412/8108:
#0: 00000000181afe93 (&fc->killsb){.+.+}, at: fuse_notify_inval_entry fs/fuse/dev.c:1532 [inline]
#0: 00000000181afe93 (&fc->killsb){.+.+}, at: fuse_notify fs/fuse/dev.c:1810 [inline]
#0: 00000000181afe93 (&fc->killsb){.+.+}, at: fuse_dev_do_write+0x24c7/0x2bc0 fs/fuse/dev.c:1894
#1: 000000009f9ab0b6 (&type->i_mutex_dir_key#8){+.+.}, at: inode_lock include/linux/fs.h:748 [inline]
#1: 000000009f9ab0b6 (&type->i_mutex_dir_key#8){+.+.}, at: fuse_reverse_inval_entry+0xaa/0x660 fs/fuse/dir.c:987
3 locks held by syz-executor412/8113:
#0: 00000000e62e60c8 (sb_writers#11){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline]
#0: 00000000e62e60c8 (sb_writers#11){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360
#1: 000000009f9ab0b6 (&type->i_mutex_dir_key#7/1){+.+.}, at: inode_lock_nested include/linux/fs.h:783 [inline]
#1: 000000009f9ab0b6 (&type->i_mutex_dir_key#7/1){+.+.}, at: filename_create+0x15a/0x490 fs/namei.c:3638
#2: 000000004de6e4a2 (&fi->mutex){+.+.}, at: fuse_lock_inode+0xaf/0xe0 fs/fuse/inode.c:365

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

NMI backtrace for cpu 0
CPU: 0 PID: 1490 Comm: khungtaskd Not tainted 4.19.206-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1fc/0x2ef lib/dump_stack.c:118
nmi_cpu_backtrace.cold+0x63/0xa2 lib/nmi_backtrace.c:101
nmi_trigger_cpumask_backtrace+0x1a6/0x1f0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:146 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:203 [inline]
watchdog+0x991/0xe60 kernel/hung_task.c:287
kthread+0x33f/0x460 kernel/kthread.c:259
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1 skipped: idling at native_safe_halt+0xe/0x10 arch/x86/include/asm/irqflags.h:60


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches
Reply all
Reply to author
Forward
0 new messages