print_req_error: I/O error, dev loop2, sector 0 ================================================================== BUG: KASAN: use-after-free in free_fs_info fs/btrfs/ctree.h:2931 [inline] BUG: KASAN: use-after-free in btrfs_mount+0x2412/0x2838 fs/btrfs/super.c:1644 Read of size 8 at addr ffff88805aa2b758 by task syz-executor.5/10505 CPU: 1 PID: 10505 Comm: syz-executor.5 Not tainted 4.14.184-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/0x283 lib/dump_stack.c:58 print_address_description.cold+0x54/0x1dc mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report mm/kasan/report.c:409 [inline] kasan_report.cold+0xa9/0x2b9 mm/kasan/report.c:393 free_fs_info fs/btrfs/ctree.h:2931 [inline] btrfs_mount+0x2412/0x2838 fs/btrfs/super.c:1644 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x3c0 fs/namespace.c:1046 vfs_kern_mount+0x3c/0x60 fs/namespace.c:1036 mount_subvol fs/btrfs/super.c:1392 [inline] btrfs_mount+0x2a0/0x2838 fs/btrfs/super.c:1563 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x3c9/0x25e0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xa8/0x120 fs/namespace.c:3072 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x45f57a RSP: 002b:00007f77bb349a68 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 000000000050a1c0 RCX: 000000000045f57a RDX: 00007f77bb349ae0 RSI: 00000000200001c0 RDI: 00007f77bb349b00 RBP: 000000000078bf00 R08: 00007f77bb349b40 R09: 00007f77bb349ae0 R10: 0000000000000005 R11: 0000000000000206 R12: 0000000000000003 R13: 0000000000000c2a R14: 00000000004ce758 R15: 00007f77bb34a6d4 Allocated by task 10505: save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc.part.0+0x4f/0xd0 mm/kasan/kasan.c:551 __do_kmalloc_node mm/slab.c:3682 [inline] __kmalloc_node+0x4c/0x70 mm/slab.c:3689 kmalloc_node include/linux/slab.h:530 [inline] kvmalloc_node+0x88/0xd0 mm/util.c:397 kvmalloc include/linux/mm.h:531 [inline] kvzalloc include/linux/mm.h:539 [inline] btrfs_mount+0xea4/0x2838 fs/btrfs/super.c:1584 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x3c0 fs/namespace.c:1046 vfs_kern_mount+0x3c/0x60 fs/namespace.c:1036 mount_subvol fs/btrfs/super.c:1392 [inline] btrfs_mount+0x2a0/0x2838 fs/btrfs/super.c:1563 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x3c9/0x25e0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xa8/0x120 fs/namespace.c:3072 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 10505: save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0xaf/0x190 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3496 [inline] kfree+0xcb/0x260 mm/slab.c:3815 kvfree+0x45/0x50 mm/util.c:416 deactivate_locked_super+0x6c/0xd0 fs/super.c:319 sget_userns+0x9df/0xc30 fs/super.c:537 sget+0xd1/0x110 fs/super.c:572 btrfs_mount+0x113c/0x2838 fs/btrfs/super.c:1610 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x3c0 fs/namespace.c:1046 vfs_kern_mount+0x3c/0x60 fs/namespace.c:1036 mount_subvol fs/btrfs/super.c:1392 [inline] btrfs_mount+0x2a0/0x2838 fs/btrfs/super.c:1563 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x3c9/0x25e0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xa8/0x120 fs/namespace.c:3072 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff88805aa29ec0 which belongs to the cache kmalloc-16384 of size 16384 The buggy address is located 6296 bytes inside of 16384-byte region [ffff88805aa29ec0, ffff88805aa2dec0) The buggy address belongs to the page: page:ffffea00016a8a00 count:1 mapcount:0 mapping:ffff88805aa29ec0 index:0x0 compound_mapcount: 0 flags: 0xfffe0000008100(slab|head) raw: 00fffe0000008100 ffff88805aa29ec0 0000000000000000 0000000100000001 raw: ffffea00022daa20 ffff8880aa801c48 ffff8880aa802200 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88805aa2b600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88805aa2b680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff88805aa2b700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff88805aa2b780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88805aa2b800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================