================================================================== BUG: KASAN: slab-out-of-bounds in build_sit_entries fs/f2fs/segment.c:3961 [inline] BUG: KASAN: slab-out-of-bounds in f2fs_build_segment_manager+0xa926/0xad90 fs/f2fs/segment.c:4230 Read of size 4 at addr ffff888092740824 by task syz-executor.5/18598 CPU: 1 PID: 18598 Comm: syz-executor.5 Not tainted 4.19.204-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+0x1fc/0x2ef lib/dump_stack.c:118 print_address_description.cold+0x54/0x219 mm/kasan/report.c:256 kasan_report_error.cold+0x8a/0x1b9 mm/kasan/report.c:354 kasan_report mm/kasan/report.c:412 [inline] __asan_report_load4_noabort+0x88/0x90 mm/kasan/report.c:432 build_sit_entries fs/f2fs/segment.c:3961 [inline] f2fs_build_segment_manager+0xa926/0xad90 fs/f2fs/segment.c:4230 f2fs_fill_super+0x31d9/0x7050 fs/f2fs/super.c:3016 mount_bdev+0x2fc/0x3b0 fs/super.c:1158 mount_fs+0xa3/0x310 fs/super.c:1261 vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2483 [inline] do_mount+0x113c/0x2f10 fs/namespace.c:2813 ksys_mount+0xcf/0x130 fs/namespace.c:3029 __do_sys_mount fs/namespace.c:3043 [inline] __se_sys_mount fs/namespace.c:3040 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3040 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x467b0a 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:00007fc7adb89fa8 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 0000000000467b0a RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007fc7adb8a000 RBP: 00007fc7adb8a040 R08: 00007fc7adb8a040 R09: 0000000020000000 R10: 0000000000000000 R11: 0000000000000202 R12: 0000000020000000 R13: 0000000020000100 R14: 00007fc7adb8a000 R15: 0000000020014900 Allocated by task 18598: __do_kmalloc_node mm/slab.c:3689 [inline] __kmalloc_node+0x4c/0x70 mm/slab.c:3696 kmalloc_node include/linux/slab.h:557 [inline] kvmalloc_node+0x61/0xf0 mm/util.c:423 kvmalloc include/linux/mm.h:577 [inline] f2fs_kvmalloc fs/f2fs/f2fs.h:2687 [inline] f2fs_kvzalloc fs/f2fs/f2fs.h:2693 [inline] build_sit_info fs/f2fs/segment.c:3809 [inline] f2fs_build_segment_manager+0x213d/0xad90 fs/f2fs/segment.c:4219 f2fs_fill_super+0x31d9/0x7050 fs/f2fs/super.c:3016 mount_bdev+0x2fc/0x3b0 fs/super.c:1158 mount_fs+0xa3/0x310 fs/super.c:1261 vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2483 [inline] do_mount+0x113c/0x2f10 fs/namespace.c:2813 ksys_mount+0xcf/0x130 fs/namespace.c:3029 __do_sys_mount fs/namespace.c:3043 [inline] __se_sys_mount fs/namespace.c:3040 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3040 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 17269: __cache_free mm/slab.c:3503 [inline] kfree+0xcc/0x210 mm/slab.c:3822 destroy_sit_info fs/f2fs/segment.c:4317 [inline] f2fs_destroy_segment_manager+0x6dd/0xbd0 fs/f2fs/segment.c:4350 f2fs_fill_super+0x3ba2/0x7050 fs/f2fs/super.c:3194 mount_bdev+0x2fc/0x3b0 fs/super.c:1158 mount_fs+0xa3/0x310 fs/super.c:1261 vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961 vfs_kern_mount fs/namespace.c:951 [inline] do_new_mount fs/namespace.c:2483 [inline] do_mount+0x113c/0x2f10 fs/namespace.c:2813 ksys_mount+0xcf/0x130 fs/namespace.c:3029 __do_sys_mount fs/namespace.c:3043 [inline] __se_sys_mount fs/namespace.c:3040 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3040 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff888092740800 which belongs to the cache kmalloc-64 of size 64 The buggy address is located 36 bytes inside of 64-byte region [ffff888092740800, ffff888092740840) The buggy address belongs to the page: page:ffffea000249d000 count:1 mapcount:0 mapping:ffff88813bff0340 index:0xffff888092740a80 flags: 0xfff00000000100(slab) raw: 00fff00000000100 ffffea0002708308 ffffea00026835c8 ffff88813bff0340 raw: ffff888092740a80 ffff888092740000 000000010000000d 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888092740700: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888092740780: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc >ffff888092740800: 00 00 00 00 04 fc fc fc fc fc fc fc fc fc fc fc ^ ffff888092740880: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888092740900: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ================================================================== ---------------- 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