syzbot


INFO: task hung in fuse_reverse_inval_entry

Status: upstream: reported C repro on 2021/12/23 18:36
Reported-by: syzbot+ebc2a828226c7d1f94ec@syzkaller.appspotmail.com
First crash: 1064d, last: 641d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in fuse_reverse_inval_entry (2) fuse 3 1406d 1425d 0/28 auto-closed as invalid on 2021/04/15 03:59
linux-4.19 INFO: task hung in fuse_reverse_inval_entry C error 2 1072d 1173d 0/1 upstream: reported C repro on 2021/09/05 19:48
upstream INFO: task hung in fuse_reverse_inval_entry fuse C done 23 2300d 2313d 13/28 fixed on 2019/11/11 16:48
upstream INFO: task hung in fuse_reverse_inval_entry (4) fuse 1 537d 537d 0/28 auto-obsoleted due to no activity on 2023/09/01 17:45
android-49 INFO: task hung in fuse_reverse_inval_entry C 3 2304d 2048d 0/3 public: reported C repro on 2019/04/14 08:51
upstream INFO: task hung in fuse_reverse_inval_entry (5) fuse 1 443d 443d 0/28 auto-obsoleted due to no activity on 2023/12/04 21:33
upstream INFO: task hung in fuse_reverse_inval_entry (3) fuse 1 712d 712d 0/28 auto-obsoleted due to no activity on 2023/04/10 13:00
Fix bisection attempts (12)
Created Duration User Patch Repo Result
2023/02/19 20:31 34m bisect fix linux-4.14.y OK (0) job log log
2023/01/20 12:50 42m bisect fix linux-4.14.y OK (0) job log log
2022/10/27 21:06 25m bisect fix linux-4.14.y OK (0) job log log
2022/09/20 13:03 23m bisect fix linux-4.14.y OK (0) job log log
2022/08/21 12:40 22m bisect fix linux-4.14.y OK (0) job log log
2022/07/22 12:10 30m bisect fix linux-4.14.y OK (0) job log log
2022/06/22 11:27 27m bisect fix linux-4.14.y OK (0) job log log
2022/05/23 10:58 28m bisect fix linux-4.14.y OK (0) job log log
2022/04/23 10:32 23m bisect fix linux-4.14.y OK (0) job log log
2022/03/24 10:03 28m bisect fix linux-4.14.y OK (0) job log log
2022/02/22 08:10 21m bisect fix linux-4.14.y OK (0) job log log
2022/01/23 07:41 28m bisect fix linux-4.14.y OK (0) job log log

Sample crash report:
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

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/12/23 18:35 linux-4.14.y 8ee0807eedf3 6caa12e4 .config console log report syz C ci2-linux-4-14 INFO: task hung in fuse_reverse_inval_entry
* Struck through repros no longer work on HEAD.