loop0: detected capacity change from 0 to 1024 hfsplus: request for non-existent node 211 in B*Tree hfsplus: request for non-existent node 211 in B*Tree ================================================================== BUG: KASAN: slab-out-of-bounds in hfsplus_bnode_read+0x98/0x1a8 fs/hfsplus/bnode.c:32 Read of size 8 at addr ffff0000d6d909e0 by task syz.0.16/7021 CPU: 0 UID: 0 PID: 7021 Comm: syz.0.16 Not tainted 6.14.0-syzkaller-01103-g2df0c02dab82 #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0x178/0x530 mm/kasan/report.c:521 kasan_report+0xd8/0x138 mm/kasan/report.c:634 __asan_report_load8_noabort+0x20/0x2c mm/kasan/report_generic.c:381 hfsplus_bnode_read+0x98/0x1a8 fs/hfsplus/bnode.c:32 hfsplus_bnode_dump+0x2ec/0x534 hfsplus_brec_remove+0x3d0/0x4a4 fs/hfsplus/brec.c:229 __hfsplus_delete_attr+0x1dc/0x3e4 fs/hfsplus/attributes.c:299 hfsplus_delete_attr+0x234/0x2c8 fs/hfsplus/attributes.c:345 __hfsplus_setxattr+0x3bc/0x21f4 fs/hfsplus/xattr.c:342 hfsplus_setxattr+0x10c/0x178 fs/hfsplus/xattr.c:432 hfsplus_trusted_setxattr+0x54/0x6c fs/hfsplus/xattr_trusted.c:30 __vfs_setxattr+0x3d8/0x400 fs/xattr.c:200 __vfs_setxattr_noperm+0x110/0x578 fs/xattr.c:234 __vfs_setxattr_locked+0x1ec/0x218 fs/xattr.c:295 vfs_setxattr+0x1a8/0x344 fs/xattr.c:321 do_setxattr fs/xattr.c:636 [inline] filename_setxattr+0x268/0x3fc fs/xattr.c:665 path_setxattrat+0x374/0x420 fs/xattr.c:713 __do_sys_setxattr fs/xattr.c:747 [inline] __se_sys_setxattr fs/xattr.c:743 [inline] __arm64_sys_setxattr+0xc0/0xdc fs/xattr.c:743 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 Allocated by task 7021: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_alloc_info+0x40/0x50 mm/kasan/generic.c:562 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0xac/0xc4 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4318 [inline] __kmalloc_noprof+0x32c/0x54c mm/slub.c:4330 kmalloc_noprof include/linux/slab.h:906 [inline] kzalloc_noprof include/linux/slab.h:1036 [inline] __hfs_bnode_create+0xe0/0x700 fs/hfsplus/bnode.c:409 hfsplus_bnode_find+0x1f8/0xc30 fs/hfsplus/bnode.c:486 hfsplus_brec_find+0x134/0x4a0 fs/hfsplus/bfind.c:172 hfsplus_find_attr+0x160/0x238 hfsplus_attr_exists+0x154/0x1c8 fs/hfsplus/attributes.c:182 __hfsplus_setxattr+0x388/0x21f4 fs/hfsplus/xattr.c:336 hfsplus_setxattr+0x10c/0x178 fs/hfsplus/xattr.c:432 hfsplus_trusted_setxattr+0x54/0x6c fs/hfsplus/xattr_trusted.c:30 __vfs_setxattr+0x3d8/0x400 fs/xattr.c:200 __vfs_setxattr_noperm+0x110/0x578 fs/xattr.c:234 __vfs_setxattr_locked+0x1ec/0x218 fs/xattr.c:295 vfs_setxattr+0x1a8/0x344 fs/xattr.c:321 do_setxattr fs/xattr.c:636 [inline] filename_setxattr+0x268/0x3fc fs/xattr.c:665 path_setxattrat+0x374/0x420 fs/xattr.c:713 __do_sys_setxattr fs/xattr.c:747 [inline] __se_sys_setxattr fs/xattr.c:743 [inline] __arm64_sys_setxattr+0xc0/0xdc fs/xattr.c:743 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 The buggy address belongs to the object at ffff0000d6d90900 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 72 bytes to the right of allocated 152-byte region [ffff0000d6d90900, ffff0000d6d90998) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x116d90 flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff) page_type: f5(slab) raw: 05ffc00000000000 ffff0000c00013c0 dead000000000100 dead000000000122 raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000d6d90880: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff0000d6d90900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff0000d6d90980: 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff0000d6d90a00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000d6d90a80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ================================================================== ------------[ cut here ]------------ WARNING: CPU: 0 PID: 7021 at ./include/linux/mm.h:2256 rcu_read_unlock_sched include/linux/rcupdate.h:955 [inline] WARNING: CPU: 0 PID: 7021 at ./include/linux/mm.h:2256 pfn_valid include/linux/mmzone.h:2069 [inline] WARNING: CPU: 0 PID: 7021 at ./include/linux/mm.h:2256 lowmem_page_address include/linux/mm.h:2256 [inline] WARNING: CPU: 0 PID: 7021 at ./include/linux/mm.h:2256 kmap_local_page+0x354/0x4c0 include/linux/highmem-internal.h:180 Modules linked in: CPU: 0 UID: 0 PID: 7021 Comm: syz.0.16 Tainted: G B 6.14.0-syzkaller-01103-g2df0c02dab82 #0 PREEMPT Tainted: [B]=BAD_PAGE Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : lowmem_page_address include/linux/rcupdate.h:955 [inline] pc : kmap_local_page+0x354/0x4c0 include/linux/highmem-internal.h:180 lr : rcu_read_unlock_sched include/linux/rcupdate.h:955 [inline] lr : pfn_valid include/linux/mmzone.h:2069 [inline] lr : lowmem_page_address include/linux/mm.h:2256 [inline] lr : kmap_local_page+0x354/0x4c0 include/linux/highmem-internal.h:180 sp : ffff80009c0a6cf0 x29: ffff80009c0a6cf0 x28: 0000000000000100 x27: 000000000000b100 x26: 0000000000000002 x25: 0000000801040000 x24: dfff800000000000 x23: ffff80008e3cb000 x22: 1ffff00011c796c5 x21: 0000000000000000 x20: 0000000100000000 x19: 0000020041000000 x18: 1fffe00036756c86 x17: ffff80008ea8d000 x16: ffff80008ad91844 x15: 0000000000000001 x14: 1ffff000123292f8 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000001 x10: 0000000000ff0100 x9 : 0000000000000000 x8 : ffff0000d65e0000 x7 : 1fffe00036756c87 x6 : ffff8000812e63d4 x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000002 x2 : 0000000000000000 x1 : 0000000100000000 x0 : 0000000000000000 Call trace: rcu_read_unlock_sched include/linux/rcupdate.h:955 [inline] (P) pfn_valid include/linux/mmzone.h:2069 [inline] (P) lowmem_page_address include/linux/mm.h:2256 [inline] (P) kmap_local_page+0x354/0x4c0 include/linux/highmem-internal.h:180 (P) memcpy_from_page include/linux/highmem.h:420 [inline] hfsplus_bnode_read+0xa4/0x1a8 fs/hfsplus/bnode.c:32 hfsplus_bnode_dump+0x2ec/0x534 hfsplus_brec_remove+0x3d0/0x4a4 fs/hfsplus/brec.c:229 __hfsplus_delete_attr+0x1dc/0x3e4 fs/hfsplus/attributes.c:299 hfsplus_delete_attr+0x234/0x2c8 fs/hfsplus/attributes.c:345 __hfsplus_setxattr+0x3bc/0x21f4 fs/hfsplus/xattr.c:342 hfsplus_setxattr+0x10c/0x178 fs/hfsplus/xattr.c:432 hfsplus_trusted_setxattr+0x54/0x6c fs/hfsplus/xattr_trusted.c:30 __vfs_setxattr+0x3d8/0x400 fs/xattr.c:200 __vfs_setxattr_noperm+0x110/0x578 fs/xattr.c:234 __vfs_setxattr_locked+0x1ec/0x218 fs/xattr.c:295 vfs_setxattr+0x1a8/0x344 fs/xattr.c:321 do_setxattr fs/xattr.c:636 [inline] filename_setxattr+0x268/0x3fc fs/xattr.c:665 path_setxattrat+0x374/0x420 fs/xattr.c:713 __do_sys_setxattr fs/xattr.c:747 [inline] __se_sys_setxattr fs/xattr.c:743 [inline] __arm64_sys_setxattr+0xc0/0xdc fs/xattr.c:743 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 irq event stamp: 3063 hardirqs last enabled at (3063): [] raw_spin_rq_unlock_irq kernel/sched/sched.h:1525 [inline] hardirqs last enabled at (3063): [] finish_lock_switch+0xbc/0x1e4 kernel/sched/core.c:5121 hardirqs last disabled at (3062): [] __schedule+0x2c4/0x27bc kernel/sched/core.c:6653 softirqs last enabled at (2976): [] softirq_handle_end kernel/softirq.c:407 [inline] softirqs last enabled at (2976): [] handle_softirqs+0xb44/0xd34 kernel/softirq.c:589 softirqs last disabled at (2963): [] __do_softirq+0x14/0x20 kernel/softirq.c:595 ---[ end trace 0000000000000000 ]--- Unable to handle kernel paging request at virtual address ffff700200000020 KASAN: probably wild-memory-access in range [0xffff801000000100-0xffff801000000107] Mem abort info: ESR = 0x0000000096000005 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000001a8b94000 [ffff700200000020] pgd=000000023ea60003, p4d=000000023ea60003, pud=0000000000000000 Internal error: Oops: 0000000096000005 [#1] SMP Modules linked in: CPU: 0 UID: 0 PID: 7021 Comm: syz.0.16 Tainted: G B W 6.14.0-syzkaller-01103-g2df0c02dab82 #0 PREEMPT Tainted: [B]=BAD_PAGE, [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : bytes_is_nonzero mm/kasan/generic.c:87 [inline] pc : memory_is_nonzero mm/kasan/generic.c:104 [inline] pc : memory_is_poisoned_n mm/kasan/generic.c:129 [inline] pc : memory_is_poisoned mm/kasan/generic.c:161 [inline] pc : check_region_inline mm/kasan/generic.c:180 [inline] pc : kasan_check_range+0x64/0x294 mm/kasan/generic.c:189 lr : __asan_memcpy+0x3c/0x84 mm/kasan/shadow.c:105 sp : ffff80009c0a6d00 x29: ffff80009c0a6d00 x28: 0000000000000100 x27: 000000000000b100 x26: 0000000000000002 x25: dfff800000000000 x24: 0000000000000102 x23: ffff801000000000 x22: ffff8000812e1b24 x21: ffff80009c0a6e00 x20: ffff801000000100 x19: 0000000000000002 x18: 1fffe00036756c86 x17: ffff80008ea8d000 x16: ffff80008ad91844 x15: 0000000000000001 x14: 1ffff00200000020 x13: 0000000000000000 x12: ffffffffffffffff x11: ffff700200000020 x10: 1ffff00200000020 x9 : dfff800000000000 x8 : ffff801000000101 x7 : 1fffe00036756c87 x6 : ffff8000812e63d4 x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff8000812e1b24 x2 : 0000000000000000 x1 : 0000000000000002 x0 : ffff801000000100 Call trace: bytes_is_nonzero mm/kasan/generic.c:86 [inline] (P) memory_is_nonzero mm/kasan/generic.c:104 [inline] (P) memory_is_poisoned_n mm/kasan/generic.c:129 [inline] (P) memory_is_poisoned mm/kasan/generic.c:161 [inline] (P) check_region_inline mm/kasan/generic.c:180 [inline] (P) kasan_check_range+0x64/0x294 mm/kasan/generic.c:189 (P) __asan_memcpy+0x3c/0x84 mm/kasan/shadow.c:105 memcpy_from_page include/linux/highmem.h:423 [inline] hfsplus_bnode_read+0xd0/0x1a8 fs/hfsplus/bnode.c:32 hfsplus_bnode_dump+0x2ec/0x534 hfsplus_brec_remove+0x3d0/0x4a4 fs/hfsplus/brec.c:229 __hfsplus_delete_attr+0x1dc/0x3e4 fs/hfsplus/attributes.c:299 hfsplus_delete_attr+0x234/0x2c8 fs/hfsplus/attributes.c:345 __hfsplus_setxattr+0x3bc/0x21f4 fs/hfsplus/xattr.c:342 hfsplus_setxattr+0x10c/0x178 fs/hfsplus/xattr.c:432 hfsplus_trusted_setxattr+0x54/0x6c fs/hfsplus/xattr_trusted.c:30 __vfs_setxattr+0x3d8/0x400 fs/xattr.c:200 __vfs_setxattr_noperm+0x110/0x578 fs/xattr.c:234 __vfs_setxattr_locked+0x1ec/0x218 fs/xattr.c:295 vfs_setxattr+0x1a8/0x344 fs/xattr.c:321 do_setxattr fs/xattr.c:636 [inline] filename_setxattr+0x268/0x3fc fs/xattr.c:665 path_setxattrat+0x374/0x420 fs/xattr.c:713 __do_sys_setxattr fs/xattr.c:747 [inline] __se_sys_setxattr fs/xattr.c:743 [inline] __arm64_sys_setxattr+0xc0/0xdc fs/xattr.c:743 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 Code: 5400014c b4000b8f aa2a03ec 8b0e018c (3940016d) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: 5400014c b.gt 0x28 4: b4000b8f cbz x15, 0x174 8: aa2a03ec mvn x12, x10 c: 8b0e018c add x12, x12, x14 * 10: 3940016d ldrb w13, [x11] <-- trapping instruction