========================= WARNING: held lock freed! 6.9.0-syzkaller-07726-g3c999d1ae3c7 #0 Not tainted ------------------------- syz-executor.2/6883 is freeing memory ffff888000252098-ffff888000252127, with a lock still held there! ffff8880002520e0 (&type->s_umount_key#83/1){+.+.}-{3:3}, at: alloc_super+0x23d/0xbd0 fs/super.c:343 1 lock held by syz-executor.2/6883: #0: ffff8880002520e0 (&type->s_umount_key#83/1){+.+.}-{3:3}, at: alloc_super+0x23d/0xbd0 fs/super.c:343 stack backtrace: CPU: 1 PID: 6883 Comm: syz-executor.2 Not tainted 6.9.0-syzkaller-07726-g3c999d1ae3c7 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114 print_freed_lock_bug kernel/locking/lockdep.c:6538 [inline] debug_check_no_locks_freed+0x203/0x2a0 kernel/locking/lockdep.c:6571 debug_mutex_init+0x1b/0x70 kernel/locking/mutex-debug.c:86 ntfs_alloc_inode+0x5b/0x70 fs/ntfs3/super.c:569 alloc_inode+0x5d/0x230 fs/inode.c:261 iget5_locked fs/inode.c:1235 [inline] iget5_locked+0x1c9/0x2c0 fs/inode.c:1228 ntfs_iget5+0xd2/0x3810 fs/ntfs3/inode.c:531 ntfs_fill_super+0x3afe/0x4450 fs/ntfs3/super.c:1562 get_tree_bdev+0x36f/0x610 fs/super.c:1614 vfs_get_tree+0x8f/0x380 fs/super.c:1779 do_new_mount fs/namespace.c:3352 [inline] path_mount+0x6e1/0x1f10 fs/namespace.c:3679 do_mount fs/namespace.c:3692 [inline] __do_sys_mount fs/namespace.c:3898 [inline] __se_sys_mount fs/namespace.c:3875 [inline] __ia32_sys_mount+0x295/0x320 fs/namespace.c:3875 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x75/0x120 arch/x86/entry/common.c:386 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:411 entry_SYSENTER_compat_after_hwframe+0x84/0x8e RIP: 0023:0xf7287579 Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00 RSP: 002b:00000000f5e79400 EFLAGS: 00000292 ORIG_RAX: 0000000000000015 RAX: ffffffffffffffda RBX: 00000000f5e79460 RCX: 0000000020000080 RDX: 0000000020000040 RSI: 0000000000000000 RDI: 00000000f5e794a0 RBP: 00000000f5e79460 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000296 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 ntfs3: loop2: try to read out of volume at offset 0x5400 Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] CPU: 0 PID: 6883 Comm: syz-executor.2 Not tainted 6.9.0-syzkaller-07726-g3c999d1ae3c7 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:iput_final fs/inode.c:1710 [inline] RIP: 0010:iput.part.0+0x38c/0x7f0 fs/inode.c:1767 Code: 8a ff 48 8b 44 24 10 48 85 c0 0f 85 f5 02 00 00 e8 39 d6 8a ff 49 8d 7e 28 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 d4 03 00 00 49 8b 46 28 48 85 c0 48 89 44 24 10 RSP: 0018:ffffc90003f578a0 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: ffff888000252250 RCX: ffffc90022d64000 RDX: 0000000000000005 RSI: ffffffff8203add7 RDI: 0000000000000028 RBP: ffff888000252458 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 6c203a337366746e R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: ffff888000252328 FS: 0000000000000000(0000) GS:ffff88802c000000(0063) knlGS:00000000f5e79b40 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: 000000c001a14020 CR3: 0000000011af2000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: iput+0x5c/0x80 fs/inode.c:1757 ntfs_read_mft fs/ntfs3/inode.c:502 [inline] ntfs_iget5+0x696/0x3810 fs/ntfs3/inode.c:538 ntfs_fill_super+0x3afe/0x4450 fs/ntfs3/super.c:1562 get_tree_bdev+0x36f/0x610 fs/super.c:1614 vfs_get_tree+0x8f/0x380 fs/super.c:1779 do_new_mount fs/namespace.c:3352 [inline] path_mount+0x6e1/0x1f10 fs/namespace.c:3679 do_mount fs/namespace.c:3692 [inline] __do_sys_mount fs/namespace.c:3898 [inline] __se_sys_mount fs/namespace.c:3875 [inline] __ia32_sys_mount+0x295/0x320 fs/namespace.c:3875 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x75/0x120 arch/x86/entry/common.c:386 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:411 entry_SYSENTER_compat_after_hwframe+0x84/0x8e RIP: 0023:0xf7287579 Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00 RSP: 002b:00000000f5e79400 EFLAGS: 00000292 ORIG_RAX: 0000000000000015 RAX: ffffffffffffffda RBX: 00000000f5e79460 RCX: 0000000020000080 RDX: 0000000020000040 RSI: 0000000000000000 RDI: 00000000f5e794a0 RBP: 00000000f5e79460 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000296 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:iput_final fs/inode.c:1710 [inline] RIP: 0010:iput.part.0+0x38c/0x7f0 fs/inode.c:1767 Code: 8a ff 48 8b 44 24 10 48 85 c0 0f 85 f5 02 00 00 e8 39 d6 8a ff 49 8d 7e 28 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 d4 03 00 00 49 8b 46 28 48 85 c0 48 89 44 24 10 RSP: 0018:ffffc90003f578a0 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: ffff888000252250 RCX: ffffc90022d64000 RDX: 0000000000000005 RSI: ffffffff8203add7 RDI: 0000000000000028 RBP: ffff888000252458 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 6c203a337366746e R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: ffff888000252328 FS: 0000000000000000(0000) GS:ffff88802c000000(0063) knlGS:00000000f5e79b40 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: 000000c001a14020 CR3: 0000000011af2000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 2 bytes skipped: 0: 10 06 adc %al,(%rsi) 2: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi 6: 10 07 adc %al,(%rdi) 8: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi c: 10 08 adc %cl,(%rax) e: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi 1e: 00 51 52 add %dl,0x52(%rcx) 21: 55 push %rbp 22: 89 e5 mov %esp,%ebp 24: 0f 34 sysenter 26: cd 80 int $0x80 * 28: 5d pop %rbp <-- trapping instruction 29: 5a pop %rdx 2a: 59 pop %rcx 2b: c3 ret 2c: 90 nop 2d: 90 nop 2e: 90 nop 2f: 90 nop 30: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi 37: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi