bisecting fixing commit since 3c8c23092588a23bf1856a64f58c37f477a413be building syzkaller on a343ba6b077a3efe7feb57783dcbb7496d2c3572 testing commit 3c8c23092588a23bf1856a64f58c37f477a413be compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: f082a2a5b53cdeb0572cbfe2d6a90a0bbb036544454a4aa5ab4aed88f6c5174d run #0: crashed: kernel BUG in iput run #1: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop2] run #2: crashed: kernel BUG in iput run #3: crashed: kernel BUG in iput run #4: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop3] run #5: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop1] run #6: crashed: kernel BUG in iput run #7: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop0] run #8: crashed: kernel BUG in iput run #9: crashed: kernel BUG in iput run #10: crashed: kernel BUG in iput run #11: crashed: kernel BUG in corrupted run #12: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop4] run #13: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop3] run #14: crashed: kernel BUG in iput run #15: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop0] run #16: crashed: kernel BUG in corrupted run #17: crashed: kernel BUG in iput run #18: crashed: kernel BUG in corrupted run #19: crashed: kernel BUG in iput testing current HEAD b172b44fcb1771e083aad806fa96f3f60e2ddfac testing commit b172b44fcb1771e083aad806fa96f3f60e2ddfac compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: c51eb8baf7a0f4d0606da0afb0756cc723196e31e012b3ee0a69692f45beefc4 run #0: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop3] run #1: crashed: kernel BUG in erofs_fill_super run #2: crashed: kernel BUG in iput run #3: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop0] run #4: crashed: kernel BUG in iput run #5: crashed: kernel BUG in corrupted run #6: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop4] run #7: crashed: BUG: Dentry ADDR{i=NUM,n=/} still in use (-NUM) [unmount of erofs loop5] run #8: crashed: kernel BUG in iput run #9: crashed: kernel BUG in corrupted revisions tested: 2, total time: 23m21.956293377s (build: 16m0.499787594s, test: 6m53.956643235s) the crash still happens on HEAD commit msg: Linux 4.19.206 crash: kernel BUG in corrupted R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000000 R13: 0000000020000100 R14: 00007f1311012000 R15: 0000000020010a00 CPU: 0 PID: 10039 Comm: syz-executor.0 Not tainted 4.19.206-syzkaller #0 ------------[ cut here ]------------ Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 kernel BUG at fs/inode.c:1571! Call Trace: invalid opcode: 0000 [#1] PREEMPT SMP KASAN __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x17c/0x226 lib/dump_stack.c:118 CPU: 1 PID: 10037 Comm: syz-executor.1 Not tainted 4.19.206-syzkaller #0 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold.2+0x5/0xa lib/fault-inject.c:149 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:iput+0x536/0x6b0 fs/inode.c:1571 __should_failslab+0xba/0xf0 mm/failslab.c:32 Code: 48 b8 00 00 00 00 00 fc ff df 48 8b 55 c8 48 c1 ea 03 80 3c 02 00 0f 84 ac fd ff ff 48 8b 7d c8 e8 7f ac f0 ff e9 9e fd ff ff <0f> 0b 48 89 df e8 60 f9 ff ff 48 8b 7d d0 e8 b7 33 0a 06 e9 2a fe should_failslab+0x9/0x20 mm/slab_common.c:1590 RSP: 0018:ffff88808d8bfa18 EFLAGS: 00010202 slab_pre_alloc_hook mm/slab.h:424 [inline] slab_alloc mm/slab.c:3383 [inline] kmem_cache_alloc+0x28e/0x390 mm/slab.c:3557 RAX: dffffc0000000000 RBX: ffff88808b464580 RCX: 1ffff11012bc319d RDX: 1ffff1101168c8ca RSI: ffff888095e18cc8 RDI: ffff88808b464580 alloc_inode+0x16/0x40 drivers/staging/erofs/super.c:49 RBP: ffff88808d8bfa60 R08: ffff888095e18ce8 R09: 0000000000000000 alloc_inode+0x56/0x150 fs/inode.c:211 R10: 0000000000000000 R11: 0000000000000000 R12: ffff88808b464580 new_inode_pseudo+0xc/0xd0 fs/inode.c:911 R13: ffff88809cd46d00 R14: 0000000000000000 R15: ffff88809cd46d68 new_inode+0x14/0x30 fs/inode.c:940 FS: 00007f1311012700(0000) GS:ffff8880ba300000(0000) knlGS:0000000000000000 erofs_init_managed_cache drivers/staging/erofs/super.c:317 [inline] erofs_read_super drivers/staging/erofs/super.c:386 [inline] erofs_fill_super+0xd02/0x1168 drivers/staging/erofs/super.c:499 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000568000 CR3: 00000000a9d82000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: mount_bdev+0x26f/0x330 fs/super.c:1158 erofs_read_super drivers/staging/erofs/super.c:439 [inline] erofs_fill_super+0x10b4/0x1168 drivers/staging/erofs/super.c:499 erofs_mount+0x6a/0x90 drivers/staging/erofs/super.c:512 mount_fs+0x7f/0x2b0 fs/super.c:1261 vfs_kern_mount.part.11+0x58/0x3d0 fs/namespace.c:961 mount_bdev+0x26f/0x330 fs/super.c:1158 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2492 [inline] do_mount+0x376/0x2630 fs/namespace.c:2822 erofs_mount+0x6a/0x90 drivers/staging/erofs/super.c:512 mount_fs+0x7f/0x2b0 fs/super.c:1261 vfs_kern_mount.part.11+0x58/0x3d0 fs/namespace.c:961 ksys_mount+0xb1/0xd0 fs/namespace.c:3038 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2492 [inline] do_mount+0x376/0x2630 fs/namespace.c:2822 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xb9/0x150 fs/namespace.c:3049 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x467afa Code: 48 c7 c2 bc ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 ksys_mount+0xb1/0xd0 fs/namespace.c:3038 RSP: 002b:00007fc57e372fa8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xb9/0x150 fs/namespace.c:3049 RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 0000000000467afa do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007fc57e373000 entry_SYSCALL_64_after_hwframe+0x49/0xbe RBP: 00007fc57e373040 R08: 00007fc57e373040 R09: 0000000020000000 RIP: 0033:0x467afa R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000000 Code: 48 c7 c2 bc ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 R13: 0000000020000100 R14: 00007fc57e373000 R15: 0000000020010a00 RSP: 002b:00007f1311011fa8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 0000000000467afa RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f1311012000 RBP: 00007f1311012040 R08: 00007f1311012040 R09: 0000000020000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000000 R13: 0000000020000100 R14: 00007f1311012000 R15: 0000000020010a00 Modules linked in: ---[ end trace b76e7b5a63f6561a ]--- RIP: 0010:iput+0x536/0x6b0 fs/inode.c:1571 Code: 48 b8 00 00 00 00 00 fc ff df 48 8b 55 c8 48 c1 ea 03 80 3c 02 00 0f 84 ac fd ff ff 48 8b 7d c8 e8 7f ac f0 ff e9 9e fd ff ff <0f> 0b 48 89 df e8 60 f9 ff ff 48 8b 7d d0 e8 b7 33 0a 06 e9 2a fe RSP: 0018:ffff88808d8bfa18 EFLAGS: 00010202 erofs: read_super, device -> /dev/loop5 RAX: dffffc0000000000 RBX: ffff88808b464580 RCX: 1ffff11012bc319d erofs: options -> RDX: 1ffff1101168c8ca RSI: ffff888095e18cc8 RDI: ffff88808b464580 erofs: root inode @ nid 36 RBP: ffff88808d8bfa60 R08: ffff888095e18ce8 R09: 0000000000000000 FAULT_INJECTION: forcing a failure. name fail_page_alloc, interval 1, probability 0, space 0, times 0 R10: 0000000000000000 R11: 0000000000000000 R12: ffff88808b464580 CPU: 0 PID: 10053 Comm: syz-executor.5 Tainted: G D 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+0x17c/0x226 lib/dump_stack.c:118 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold.2+0x5/0xa lib/fault-inject.c:149 R13: ffff88809cd46d00 R14: 0000000000000000 R15: ffff88809cd46d68 should_fail_alloc_page mm/page_alloc.c:3088 [inline] prepare_alloc_pages mm/page_alloc.c:4346 [inline] __alloc_pages_nodemask+0x23c/0x25a0 mm/page_alloc.c:4393 __alloc_pages include/linux/gfp.h:496 [inline] __alloc_pages_node include/linux/gfp.h:509 [inline] kmem_getpages mm/slab.c:1412 [inline] cache_grow_begin+0xa5/0x8b0 mm/slab.c:2682 cache_alloc_refill+0x2ac/0x380 mm/slab.c:3049 ____cache_alloc mm/slab.c:3132 [inline] __do_cache_alloc mm/slab.c:3354 [inline] slab_alloc mm/slab.c:3389 [inline] kmem_cache_alloc+0x361/0x390 mm/slab.c:3557 alloc_inode+0x16/0x40 drivers/staging/erofs/super.c:49 alloc_inode+0x56/0x150 fs/inode.c:211 new_inode_pseudo+0xc/0xd0 fs/inode.c:911 new_inode+0x14/0x30 fs/inode.c:940 erofs_init_managed_cache drivers/staging/erofs/super.c:317 [inline] erofs_read_super drivers/staging/erofs/super.c:386 [inline] erofs_fill_super+0xd02/0x1168 drivers/staging/erofs/super.c:499 mount_bdev+0x26f/0x330 fs/super.c:1158 erofs_mount+0x6a/0x90 drivers/staging/erofs/super.c:512 mount_fs+0x7f/0x2b0 fs/super.c:1261 vfs_kern_mount.part.11+0x58/0x3d0 fs/namespace.c:961 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2492 [inline] do_mount+0x376/0x2630 fs/namespace.c:2822 ksys_mount+0xb1/0xd0 fs/namespace.c:3038 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xb9/0x150 fs/namespace.c:3049 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x467afa Code: 48 c7 c2 bc ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f01937c7fa8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 0000000000467afa RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f01937c8000 RBP: 00007f01937c8040 R08: 00007f01937c8040 R09: 0000000020000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000000 R13: 0000000020000100 R14: 00007f01937c8000 R15: 0000000020010a00 FS: 00007f1311012700(0000) GS:ffff8880ba300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 erofs: read_super, device -> /dev/loop2 erofs: read_super, device -> /dev/loop4 erofs: options -> CR2: 0000000000568000 CR3: 00000000a9d82000 CR4: 00000000001406e0 erofs: options -> erofs: root inode @ nid 36 FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 erofs: root inode @ nid 36 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 erofs: read_super, device -> /dev/loop3 erofs: read_super, device -> /dev/loop0 FAULT_INJECTION: forcing a failure. name fail_page_alloc, interval 1, probability 0, space 0, times 0 erofs: options -> CPU: 0 PID: 10055 Comm: syz-executor.2 Tainted: G D 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+0x17c/0x226 lib/dump_stack.c:118 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold.2+0x5/0xa lib/fault-inject.c:149 should_fail_alloc_page mm/page_alloc.c:3088 [inline] prepare_alloc_pages mm/page_alloc.c:4346 [inline] __alloc_pages_nodemask+0x23c/0x25a0 mm/page_alloc.c:4393 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 erofs: root inode @ nid 36 __alloc_pages include/linux/gfp.h:496 [inline] __alloc_pages_node include/linux/gfp.h:509 [inline] kmem_getpages mm/slab.c:1412 [inline] cache_grow_begin+0xa5/0x8b0 mm/slab.c:2682 FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 cache_alloc_refill+0x2ac/0x380 mm/slab.c:3049 ---------------- Code disassembly (best guess): 0: 48 c7 c2 bc ff ff ff mov $0xffffffffffffffbc,%rdx 7: f7 d8 neg %eax 9: 64 89 02 mov %eax,%fs:(%rdx) c: b8 ff ff ff ff mov $0xffffffff,%eax 11: eb d2 jmp 0xffffffe5 13: e8 b8 04 00 00 callq 0x4d0 18: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 1f: 00 20: 49 89 ca mov %rcx,%r10 23: b8 a5 00 00 00 mov $0xa5,%eax 28: 0f 05 syscall * 2a: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax <-- trapping instruction 30: 73 01 jae 0x33 32: c3 retq 33: 48 c7 c1 bc ff ff ff mov $0xffffffffffffffbc,%rcx 3a: f7 d8 neg %eax 3c: 64 89 01 mov %eax,%fs:(%rcx) 3f: 48 rex.W