INFO: task hung in fuse_reverse_inval_entry

5 views
Skip to first unread message

syzbot

unread,
Dec 23, 2021, 1:36:29 PM12/23/21
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 8ee0807eedf3 Linux 4.14.259
git tree: linux-4.14.y
console output: https://syzkaller.appspot.com/x/log.txt?x=16c2342bb00000
kernel config: https://syzkaller.appspot.com/x/.config?x=cd64d8ac71350686
dashboard link: https://syzkaller.appspot.com/bug?extid=ebc2a828226c7d1f94ec
compiler: gcc version 10.2.1 20210110 (Debian 10.2.1-6)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1144ae7eb00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1606a543b00000

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

INFO: task syz-executor542:7989 blocked for more than 140 seconds.
Not tainted 4.14.259-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor542 D27288 7989 7987 0x00000004
Call Trace:
context_switch kernel/sched/core.c:2811 [inline]
__schedule+0x88b/0x1de0 kernel/sched/core.c:3387
schedule+0x8d/0x1b0 kernel/sched/core.c:3431
__rwsem_down_write_failed_common kernel/locking/rwsem-xadd.c:588 [inline]
rwsem_down_write_failed+0x343/0x6d0 kernel/locking/rwsem-xadd.c:617
call_rwsem_down_write_failed+0x13/0x20 arch/x86/lib/rwsem.S:105
__down_write arch/x86/include/asm/rwsem.h:126 [inline]
down_write_nested+0x51/0x90 kernel/locking/rwsem.c:174
inode_lock_nested include/linux/fs.h:754 [inline]
fuse_reverse_inval_entry+0x9e/0x5f0 fs/fuse/dir.c:972
fuse_notify_delete fs/fuse/dev.c:1584 [inline]
fuse_notify fs/fuse/dev.c:1818 [inline]
fuse_dev_do_write+0x1f22/0x25c0 fs/fuse/dev.c:1893
fuse_dev_write+0x125/0x1a0 fs/fuse/dev.c:1977
call_write_iter include/linux/fs.h:1780 [inline]
new_sync_write fs/read_write.c:469 [inline]
__vfs_write+0x44c/0x630 fs/read_write.c:482
vfs_write+0x17f/0x4d0 fs/read_write.c:544
SYSC_write fs/read_write.c:590 [inline]
SyS_write+0xf2/0x210 fs/read_write.c:582
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x7fd0839ed089
RSP: 002b:00007fd083999208 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fd083a714c8 RCX: 00007fd0839ed089
RDX: 0000000000000029 RSI: 00000000200043c0 RDI: 0000000000000003
RBP: 00007fd083a714c0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fd083a714cc
R13: 00007ffc107c112f R14: 00007fd083999300 R15: 0000000000022000
INFO: task syz-executor542:7994 blocked for more than 140 seconds.
Not tainted 4.14.259-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor542 D28928 7994 7987 0x00000004
Call Trace:
context_switch kernel/sched/core.c:2811 [inline]
__schedule+0x88b/0x1de0 kernel/sched/core.c:3387
schedule+0x8d/0x1b0 kernel/sched/core.c:3431
request_wait_answer+0x30d/0x620 fs/fuse/dev.c:478
__fuse_request_send+0x108/0x1a0 fs/fuse/dev.c:498
fuse_request_send fs/fuse/dev.c:511 [inline]
fuse_simple_request+0x2fa/0x790 fs/fuse/dev.c:569
fuse_lookup_name+0x228/0x550 fs/fuse/dir.c:330
fuse_lookup+0xcd/0x390 fs/fuse/dir.c:368
lookup_real fs/namei.c:1555 [inline]
__lookup_hash fs/namei.c:1575 [inline]
__lookup_hash+0x1bb/0x270 fs/namei.c:1563
filename_create+0x156/0x3f0 fs/namei.c:3675
user_path_create fs/namei.c:3732 [inline]
SYSC_mkdirat fs/namei.c:3864 [inline]
SyS_mkdirat+0x95/0x270 fs/namei.c:3856
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x7fd0839ed089
RSP: 002b:00007fd083978208 EFLAGS: 00000246 ORIG_RAX: 0000000000000102
RAX: ffffffffffffffda RBX: 00007fd083a714d8 RCX: 00007fd0839ed089
RDX: 0000000000000000 RSI: 0000000020004380 RDI: 00000000ffffff9c
RBP: 00007fd083a714d0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fd083a714dc
R13: 00007ffc107c112f R14: 00007fd083978300 R15: 0000000000022000

Showing all locks held in the system:
1 lock held by khungtaskd/1534:
#0: (tasklist_lock){.+.+}, at: [<ffffffff8701ebf7>] debug_show_all_locks+0x7c/0x21a kernel/locking/lockdep.c:4548
1 lock held by in:imklog/7685:
#0: (&f->f_pos_lock){+.+.}, at: [<ffffffff818d58ab>] __fdget_pos+0x1fb/0x2b0 fs/file.c:778
2 locks held by syz-executor542/7989:
#0: (&fc->killsb){.+.+}, at: [<ffffffff822d7c90>] fuse_notify_inval_entry fs/fuse/dev.c:1531 [inline]
#0: (&fc->killsb){.+.+}, at: [<ffffffff822d7c90>] fuse_notify fs/fuse/dev.c:1809 [inline]
#0: (&fc->killsb){.+.+}, at: [<ffffffff822d7c90>] fuse_dev_do_write+0xc80/0x25c0 fs/fuse/dev.c:1893
#1: (&type->i_mutex_dir_key#7/1){+.+.}, at: [<ffffffff822e40fe>] inode_lock_nested include/linux/fs.h:754 [inline]
#1: (&type->i_mutex_dir_key#7/1){+.+.}, at: [<ffffffff822e40fe>] fuse_reverse_inval_entry+0x9e/0x5f0 fs/fuse/dir.c:972
3 locks held by syz-executor542/7994:
#0: (sb_writers#10){.+.+}, at: [<ffffffff818de91a>] sb_start_write include/linux/fs.h:1551 [inline]
#0: (sb_writers#10){.+.+}, at: [<ffffffff818de91a>] mnt_want_write+0x3a/0xb0 fs/namespace.c:386
#1: (&type->i_mutex_dir_key#7/1){+.+.}, at: [<ffffffff818a616a>] inode_lock_nested include/linux/fs.h:754 [inline]
#1: (&type->i_mutex_dir_key#7/1){+.+.}, at: [<ffffffff818a616a>] filename_create+0x12a/0x3f0 fs/namei.c:3674
#2: (&fi->mutex){+.+.}, at: [<ffffffff82302340>] fuse_lock_inode+0xb0/0xe0 fs/fuse/inode.c:365

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

NMI backtrace for cpu 1
CPU: 1 PID: 1534 Comm: khungtaskd Not tainted 4.14.259-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:17 [inline]
dump_stack+0x1b2/0x281 lib/dump_stack.c:58
nmi_cpu_backtrace.cold+0x57/0x93 lib/nmi_backtrace.c:101
nmi_trigger_cpumask_backtrace+0x13a/0x180 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:140 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:195 [inline]
watchdog+0x5b9/0xb40 kernel/hung_task.c:274
kthread+0x30d/0x420 kernel/kthread.c:232
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4616 Comm: systemd-journal Not tainted 4.14.259-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff8880a1b5a640 task.stack: ffff8880a1b60000
RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline]
RIP: 0010:lock_release+0x41e/0x870 kernel/locking/lockdep.c:4020
RSP: 0018:ffff8880a1b678a0 EFLAGS: 00000086
RAX: 1ffffffff11e1279 RBX: 1ffff1101436cf17 RCX: 1ffff1101436b5e3
RDX: dffffc0000000000 RSI: 0000000000000003 RDI: 0000000000000086
RBP: ffff8880a1b5a640 R08: ffffffff8b9ca1e0 R09: 0000000000000002
R10: 0000000000000000 R11: ffff8880a1b5a640 R12: aa719b8d105ca9d7
R13: 0000000000000003 R14: ffff8880a1b5a640 R15: 0000000000000003
FS: 00007f6c352968c0(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6c325da000 CR3: 00000000a1bec000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
seqcount_lockdep_reader_access include/linux/seqlock.h:82 [inline]
read_seqcount_begin include/linux/seqlock.h:164 [inline]
read_seqbegin include/linux/seqlock.h:441 [inline]
zone_span_seqbegin include/linux/memory_hotplug.h:80 [inline]
page_outside_zone_boundaries+0xcf/0x310 mm/page_alloc.c:496
bad_range mm/page_alloc.c:525 [inline]
__free_one_page mm/page_alloc.c:828 [inline]
free_one_page+0x119/0x12a0 mm/page_alloc.c:1179
__free_pages_ok+0x3f1/0xeb0 mm/page_alloc.c:1268
slab_destroy mm/slab.c:1723 [inline]
slabs_destroy+0x90/0xd0 mm/slab.c:1739
cache_flusharray mm/slab.c:3483 [inline]
___cache_free+0x213/0x2c0 mm/slab.c:3525
qlink_free mm/kasan/quarantine.c:147 [inline]
qlist_free_all+0x79/0x140 mm/kasan/quarantine.c:166
quarantine_reduce+0x185/0x200 mm/kasan/quarantine.c:259
kasan_kmalloc+0xa2/0x160 mm/kasan/kasan.c:536
slab_post_alloc_hook mm/slab.h:442 [inline]
slab_alloc mm/slab.c:3390 [inline]
kmem_cache_alloc+0x111/0x3c0 mm/slab.c:3550
getname_flags+0xc8/0x550 fs/namei.c:138
do_sys_open+0x1ce/0x410 fs/open.c:1075
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x7f6c34825840
RSP: 002b:00007ffdf44263b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000002
RAX: ffffffffffffffda RBX: 00007ffdf44266c0 RCX: 00007f6c34825840
RDX: 00000000000001a0 RSI: 0000000000080042 RDI: 000055f7d0c43480
RBP: 000000000000000d R08: 000000000000ffc0 R09: 00000000ffffffff
R10: 0000000000000069 R11: 0000000000000246 R12: 00000000ffffffff
R13: 000055f7d0c3e040 R14: 00007ffdf4426680 R15: 000055f7d0c434d0
Code: 85 84 08 00 00 00 00 00 00 48 c1 e8 03 80 3c 10 00 0f 85 88 03 00 00 48 83 3d c6 c6 ae 07 00 0f 84 ba 01 00 00 48 8b 3c 24 57 9d <0f> 1f 44 00 00 48 b8 00 00 00 00 00 fc ff df 48 c7 04 03 00 00
----------------
Code disassembly (best guess):
0: 85 84 08 00 00 00 00 test %eax,0x0(%rax,%rcx,1)
7: 00 00 add %al,(%rax)
9: 48 c1 e8 03 shr $0x3,%rax
d: 80 3c 10 00 cmpb $0x0,(%rax,%rdx,1)
11: 0f 85 88 03 00 00 jne 0x39f
17: 48 83 3d c6 c6 ae 07 cmpq $0x0,0x7aec6c6(%rip) # 0x7aec6e5
1e: 00
1f: 0f 84 ba 01 00 00 je 0x1df
25: 48 8b 3c 24 mov (%rsp),%rdi
29: 57 push %rdi
2a: 9d popfq
* 2b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) <-- trapping instruction
30: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
37: fc ff df
3a: 48 rex.W
3b: c7 .byte 0xc7
3c: 04 03 add $0x3,%al


---
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