syzbot


BUG: Dentry still in use [unmount of erofs loop0]

Status: upstream: reported C repro on 2021/01/25 23:19
Reported-by: syzbot+0afbe771b627612fc227@syzkaller.appspotmail.com
First crash: 680d, last: 476d

Sample crash report:
erofs: (device loop0): mounted with opts: , root inode @ nid 36.
incfs: Can't find or create .index dir in ./file0
BUG: Dentry ffff8881ecae1880{i=0,n=.index}  still in use (1) [unmount of erofs loop0]
------------[ cut here ]------------
WARNING: CPU: 1 PID: 338 at fs/dcache.c:1597 umount_check+0x179/0x1c0 fs/dcache.c:1588
Modules linked in:
CPU: 1 PID: 338 Comm: syz-executor636 Not tainted 5.4.125-syzkaller-00008-ga8f2bcabf9c5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:umount_check+0x179/0x1c0 fs/dcache.c:1588
Code: ff 4c 8b 0b 48 81 c5 20 04 00 00 48 c7 c7 a0 0b e9 84 4c 89 fe 4c 89 f2 4c 89 f9 45 89 e8 31 c0 55 e8 37 a2 af ff 48 83 c4 08 <0f> 0b e9 fd fe ff ff 89 e9 80 e1 07 80 c1 03 38 c1 0f 8c d4 fe ff
RSP: 0018:ffff8881e5cef710 EFLAGS: 00010292
RAX: 0000000000000055 RBX: ffffffff86013400 RCX: 99293f2f02bfe100
RDX: 0000000000000000 RSI: 0000000080000002 RDI: 0000000000000000
RBP: ffff8881e627e420 R08: ffffffff814e90d7 R09: ffffed103ede9608
R10: ffffed103ede9608 R11: 0000000000000000 R12: dffffc0000000000
R13: 0000000000000001 R14: 0000000000000000 R15: ffff8881ecae1880
FS:  00007fc2e6a2a700(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000004d15c0 CR3: 0000000005e0e000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 d_walk+0x2d9/0x540 fs/dcache.c:1307
 do_one_tree fs/dcache.c:1604 [inline]
 shrink_dcache_for_umount+0x8a/0x1a0 fs/dcache.c:1620
 generic_shutdown_super+0x63/0x2a0 fs/super.c:447
 kill_block_super+0x79/0xd0 fs/super.c:1444
 erofs_kill_sb+0x5b/0xc0 fs/erofs/super.c:442
 deactivate_locked_super+0xaf/0x100 fs/super.c:335
 deactivate_super+0x1b3/0x270 fs/super.c:366
 cleanup_mnt+0x432/0x4e0 fs/namespace.c:1102
 task_work_run+0x186/0x1b0 kernel/task_work.c:113
 exit_task_work include/linux/task_work.h:22 [inline]
 do_exit+0xcb9/0x2bf0 kernel/exit.c:812
 do_group_exit+0x15c/0x2c0 kernel/exit.c:910
 get_signal+0x164f/0x1fc0 kernel/signal.c:2745
 do_signal+0x8d/0x610 arch/x86/kernel/signal.c:793
 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline]
 prepare_exit_to_usermode+0x207/0x310 arch/x86/entry/common.c:194
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x449f39
Code: Bad RIP value.
RSP: 002b:00007fc2e6a2a2f8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00000000004cb400 RCX: 0000000000449f39
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00000000004cb408
RBP: 00000000004cb40c R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0030656c69662f2e
R13: 9eedc006e0f5e1e2 R14: 6e656d6572636e69 R15: 00000000004cb408
---[ end trace dde480fbdc0a50c0 ]---
WARNING: CPU: 1 PID: 338 at fs/dcache.c:1597 umount_check+0x179/0x1c0 fs/dcache.c:1588
Modules linked in:
CPU: 1 PID: 338 Comm: syz-executor636 Tainted: G        W         5.4.125-syzkaller-00008-ga8f2bcabf9c5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:umount_check+0x179/0x1c0 fs/dcache.c:1588
Code: ff 4c 8b 0b 48 81 c5 20 04 00 00 48 c7 c7 a0 0b e9 84 4c 89 fe 4c 89 f2 4c 89 f9 45 89 e8 31 c0 55 e8 37 a2 af ff 48 83 c4 08 <0f> 0b e9 fd fe ff ff 89 e9 80 e1 07 80 c1 03 38 c1 0f 8c d4 fe ff
RSP: 0018:ffff8881e5cef710 EFLAGS: 00010292
RAX: 0000000000000055 RBX: ffffffff86013400 RCX: 99293f2f02bfe100
RDX: 0000000000000000 RSI: 0000000000000003 RDI: 0000000000000000
RBP: ffff8881e627e420 R08: ffffffff814e90d7 R09: ffffed103ede9608
R10: ffffed103ede9608 R11: 0000000000000000 R12: dffffc0000000000
R13: 0000000000000001 R14: 0000000000000000 R15: ffff8881ecae1880
FS:  00007fc2e6a2a700(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000449f0f CR3: 00000001ee1d6000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 d_walk+0x2d9/0x540 fs/dcache.c:1307
 do_one_tree fs/dcache.c:1604 [inline]
 shrink_dcache_for_umount+0x8a/0x1a0 fs/dcache.c:1620
 generic_shutdown_super+0x63/0x2a0 fs/super.c:447
 kill_block_super+0x79/0xd0 fs/super.c:1444
 erofs_kill_sb+0x5b/0xc0 fs/erofs/super.c:442
 deactivate_locked_super+0xaf/0x100 fs/super.c:335
 deactivate_super+0x1b3/0x270 fs/super.c:366
 cleanup_mnt+0x432/0x4e0 fs/namespace.c:1102
 task_work_run+0x186/0x1b0 kernel/task_work.c:113
 exit_task_work include/linux/task_work.h:22 [inline]
 do_exit+0xcb9/0x2bf0 kernel/exit.c:812
 do_group_exit+0x15c/0x2c0 kernel/exit.c:910
 get_signal+0x164f/0x1fc0 kernel/signal.c:2745
 do_signal+0x8d/0x610 arch/x86/kernel/signal.c:793
 exit_to_usermode_loop arch/x86/entry/common.c:159 [inline]
 prepare_exit_to_usermode+0x207/0x310 arch/x86/entry/common.c:194
 entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x449f39
Code: Bad RIP value.
RSP: 002b:00007fc2e6a2a2f8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00000000004cb400 RCX: 0000000000449f39
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00000000004cb408
RBP: 00000000004cb40c R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0030656c69662f2e
R13: 9eedc006e0f5e1e2 R14: 6e656d6572636e69 R15: 00000000004cb408
---[ end trace dde480fbdc0a50c1 ]---
----------------
Code disassembly (best guess):
   0:	ff 4c 8b 0b          	decl   0xb(%rbx,%rcx,4)
   4:	48 81 c5 20 04 00 00 	add    $0x420,%rbp
   b:	48 c7 c7 a0 0b e9 84 	mov    $0xffffffff84e90ba0,%rdi
  12:	4c 89 fe             	mov    %r15,%rsi
  15:	4c 89 f2             	mov    %r14,%rdx
  18:	4c 89 f9             	mov    %r15,%rcx
  1b:	45 89 e8             	mov    %r13d,%r8d
  1e:	31 c0                	xor    %eax,%eax
  20:	55                   	push   %rbp
  21:	e8 37 a2 af ff       	callq  0xffafa25d
  26:	48 83 c4 08          	add    $0x8,%rsp
  2a:	0f 0b                	ud2     <-- trapping instruction
  2c:	e9 fd fe ff ff       	jmpq   0xffffff2e
  31:	89 e9                	mov    %ebp,%ecx
  33:	80 e1 07             	and    $0x7,%cl
  36:	80 c1 03             	add    $0x3,%cl
  39:	38 c1                	cmp    %al,%cl
  3b:	0f                   	.byte 0xf
  3c:	8c d4                	mov    %ss,%esp
  3e:	fe                   	(bad)  
  3f:	ff                   	.byte 0xff

Crashes (3):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-android-5-4-kasan 2021/08/17 18:02 android12-5.4 a8f2bcabf9c5 a2fe1cb5 .config log report syz C BUG: Dentry still in use [unmount of erofs loop0]
ci2-android-5-4-kasan 2021/08/17 04:13 android12-5.4 a8f2bcabf9c5 33c26cb7 .config log report syz C BUG: Dentry still in use [unmount of erofs loop0]
ci2-android-5-4-kasan 2021/01/25 23:19 android12-5.4 18b1db92afb1 52e37319 .config log report syz C BUG: Dentry still in use [unmount of erofs loop0]
* Struck through repros no longer work on HEAD.