loop0: detected capacity change from 0 to 64 hfs: unable to locate alternate MDB hfs: continuing without an alternate MDB syz.0.0: attempt to access beyond end of device loop0: rw=0, sector=1796, nr_sectors = 1 limit=64 Buffer I/O error on dev loop0, logical block 1796, async page read syz.0.0: attempt to access beyond end of device loop0: rw=0, sector=1797, nr_sectors = 1 limit=64 Buffer I/O error on dev loop0, logical block 1797, async page read syz.0.0: attempt to access beyond end of device loop0: rw=0, sector=1798, nr_sectors = 1 limit=64 Buffer I/O error on dev loop0, logical block 1798, async page read Oops: general protection fault, probably for non-canonical address 0xdffffc0000000008: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000040-0x0000000000000047] CPU: 0 UID: 0 PID: 5313 Comm: syz.0.0 Not tainted 6.15.0-rc5-syzkaller-00032-g0d8d44db295c #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:hfs_find_init+0x6a/0x1e0 fs/hfs/bfind.c:21 Code: 7e 18 4c 89 f8 48 c1 e8 03 42 80 3c 28 00 74 08 4c 89 ff e8 18 65 8b ff 49 c7 07 00 00 00 00 48 8d 6b 40 49 89 ef 49 c1 ef 03 <43> 0f b6 04 2f 84 c0 0f 85 0c 01 00 00 8b 45 00 8d 3c 45 04 00 00 RSP: 0018:ffffc9000d31f5c8 EFLAGS: 00010202 RAX: 1ffff92001a63ed7 RBX: 0000000000000000 RCX: 0000000000100000 RDX: ffffc9000ddda000 RSI: 0000000000004ca7 RDI: ffffc9000d31f6b0 RBP: 0000000000000040 R08: ffffc9000d31f6d7 R09: 0000000000000000 R10: ffffc9000d31f6a0 R11: fffff52001a63edb R12: ffff888040154638 R13: dffffc0000000000 R14: ffffc9000d31f6a0 R15: 0000000000000008 FS: 00007f97289df6c0(0000) GS:ffff88808d6cb000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055d2af391e10 CR3: 000000003eaad000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: hfs_ext_read_extent fs/hfs/extent.c:200 [inline] hfs_get_block+0x51b/0xbd0 fs/hfs/extent.c:366 block_read_full_folio+0x29c/0x830 fs/buffer.c:2427 filemap_read_folio+0x114/0x380 mm/filemap.c:2401 do_read_cache_folio+0x354/0x590 mm/filemap.c:3885 do_read_cache_page mm/filemap.c:3951 [inline] read_cache_page+0x5d/0x170 mm/filemap.c:3960 read_mapping_page include/linux/pagemap.h:989 [inline] hfs_btree_open+0x562/0x1070 fs/hfs/btree.c:78 hfs_mdb_get+0x1327/0x2080 fs/hfs/mdb.c:199 hfs_fill_super+0x37b/0x640 fs/hfs/super.c:337 get_tree_bdev_flags+0x40b/0x4d0 fs/super.c:1636 vfs_get_tree+0x8f/0x2b0 fs/super.c:1759 do_new_mount+0x24a/0xa40 fs/namespace.c:3884 do_mount fs/namespace.c:4224 [inline] __do_sys_mount fs/namespace.c:4435 [inline] __se_sys_mount+0x317/0x410 fs/namespace.c:4412 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f9727b9010a Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f97289dee68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 00007f97289deef0 RCX: 00007f9727b9010a RDX: 0000200000000240 RSI: 0000200000000280 RDI: 00007f97289deeb0 RBP: 0000200000000240 R08: 00007f97289deef0 R09: 0000000000008008 R10: 0000000000008008 R11: 0000000000000246 R12: 0000200000000280 R13: 00007f97289deeb0 R14: 000000000000024e R15: 0000200000000380 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:hfs_find_init+0x6a/0x1e0 fs/hfs/bfind.c:21 Code: 7e 18 4c 89 f8 48 c1 e8 03 42 80 3c 28 00 74 08 4c 89 ff e8 18 65 8b ff 49 c7 07 00 00 00 00 48 8d 6b 40 49 89 ef 49 c1 ef 03 <43> 0f b6 04 2f 84 c0 0f 85 0c 01 00 00 8b 45 00 8d 3c 45 04 00 00 RSP: 0018:ffffc9000d31f5c8 EFLAGS: 00010202 RAX: 1ffff92001a63ed7 RBX: 0000000000000000 RCX: 0000000000100000 RDX: ffffc9000ddda000 RSI: 0000000000004ca7 RDI: ffffc9000d31f6b0 RBP: 0000000000000040 R08: ffffc9000d31f6d7 R09: 0000000000000000 R10: ffffc9000d31f6a0 R11: fffff52001a63edb R12: ffff888040154638 R13: dffffc0000000000 R14: ffffc9000d31f6a0 R15: 0000000000000008 FS: 00007f97289df6c0(0000) GS:ffff88808d6cb000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055d2af391e10 CR3: 000000003eaad000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 7e 18 jle 0x1a 2: 4c 89 f8 mov %r15,%rax 5: 48 c1 e8 03 shr $0x3,%rax 9: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) e: 74 08 je 0x18 10: 4c 89 ff mov %r15,%rdi 13: e8 18 65 8b ff call 0xff8b6530 18: 49 c7 07 00 00 00 00 movq $0x0,(%r15) 1f: 48 8d 6b 40 lea 0x40(%rbx),%rbp 23: 49 89 ef mov %rbp,%r15 26: 49 c1 ef 03 shr $0x3,%r15 * 2a: 43 0f b6 04 2f movzbl (%r15,%r13,1),%eax <-- trapping instruction 2f: 84 c0 test %al,%al 31: 0f 85 0c 01 00 00 jne 0x143 37: 8b 45 00 mov 0x0(%rbp),%eax 3a: 8d .byte 0x8d 3b: 3c 45 cmp $0x45,%al 3d: 04 00 add $0x0,%al