================================================================== BUG: KASAN: slab-out-of-bounds in find_first_zero_bit+0xa8/0xb0 lib/find_bit.c:125 Read of size 8 at addr ffff88809becf3c0 by task syz-executor.1/17263 CPU: 0 PID: 17263 Comm: syz-executor.1 Not tainted 4.19.211-syzkaller #0 attempt to access beyond end of device Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/16/2023 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 NILFS (loop3): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds kasan_report mm/kasan/report.c:412 [inline] __asan_report_load8_noabort+0x88/0x90 mm/kasan/report.c:433 find_first_zero_bit+0xa8/0xb0 lib/find_bit.c:125 loop3: rw=524288, want=25769803854, limit=2048 bfs_create+0xfb/0x610 fs/bfs/dir.c:91 lookup_open+0x893/0x1a20 fs/namei.c:3235 do_last fs/namei.c:3327 [inline] path_openat+0x1094/0x2df0 fs/namei.c:3537 attempt to access beyond end of device do_filp_open+0x18c/0x3f0 fs/namei.c:3567 do_sys_open+0x3b3/0x520 fs/open.c:1085 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7fcb625870f9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fcb60af9168 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 RAX: ffffffffffffffda RBX: 00007fcb626a6f80 RCX: 00007fcb625870f9 RDX: 000000000000275a RSI: 0000000020000400 RDI: ffffffffffffff9c RBP: 00007fcb625e2ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd61b29e0f R14: 00007fcb60af9300 R15: 0000000000022000 Allocated by task 17263: __do_kmalloc mm/slab.c:3727 [inline] __kmalloc+0x15a/0x3c0 mm/slab.c:3736 kmalloc include/linux/slab.h:520 [inline] kzalloc include/linux/slab.h:709 [inline] bfs_fill_super+0x447/0xec0 fs/bfs/inode.c:363 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:2492 [inline] do_mount+0x115c/0x2f50 fs/namespace.c:2822 ksys_mount+0xcf/0x130 fs/namespace.c:3038 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3049 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 8849: __cache_free mm/slab.c:3503 [inline] kfree+0xcc/0x210 mm/slab.c:3822 batadv_mcast_mla_list_free net/batman-adv/multicast.c:315 [inline] __batadv_mcast_mla_update net/batman-adv/multicast.c:631 [inline] batadv_mcast_mla_update+0x8d9/0x1bf0 net/batman-adv/multicast.c:654 process_one_work+0x864/0x1570 kernel/workqueue.c:2153 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296 kthread+0x33f/0x460 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 The buggy address belongs to the object at ffff88809becf3c0 which belongs to the cache kmalloc-32 of size 32 The buggy address is located 0 bytes inside of 32-byte region [ffff88809becf3c0, ffff88809becf3e0) The buggy address belongs to the page: page:ffffea00026fb3c0 count:1 mapcount:0 mapping:ffff88813bff01c0 index:0xffff88809becffc1 flags: 0xfff00000000100(slab) raw: 00fff00000000100 ffffea0002c39588 ffffea0002d3a888 ffff88813bff01c0 raw: ffff88809becffc1 ffff88809becf000 0000000100000026 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88809becf280: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff88809becf300: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc >ffff88809becf380: fb fb fb fb fc fc fc fc 07 fc fc fc fc fc fc fc ^ ffff88809becf400: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff88809becf480: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ================================================================== NILFS (loop5): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds loop5: rw=524288, want=25769803854, limit=2048 NILFS (loop2): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds attempt to access beyond end of device attempt to access beyond end of device loop5: rw=0, want=25769803854, limit=2048 attempt to access beyond end of device NILFS (loop5): I/O error reading meta-data file (ino=6, block-offset=3) loop3: rw=0, want=25769803854, limit=2048 NILFS (loop5): error -5 reading inode: ino=15 NILFS (loop3): I/O error reading meta-data file (ino=6, block-offset=3) attempt to access beyond end of device loop2: rw=524288, want=25769803854, limit=2048 loop5: rw=0, want=25769803854, limit=2048 NILFS (loop3): error -5 reading inode: ino=15 NILFS (loop5): I/O error reading meta-data file (ino=6, block-offset=3) attempt to access beyond end of device NILFS (loop5): error -5 reading inode: ino=15