================================================================== BUG: KASAN: slab-out-of-bounds in hfsplus_bnode_read+0xc0/0x2a0 fs/hfsplus/bnode.c:32 Read of size 8 at addr ffff88801a30b300 by task syz.0.0/5342 CPU: 0 UID: 0 PID: 5342 Comm: syz.0.0 Not tainted 6.16.0-rc7-syzkaller #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 Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x230 mm/kasan/report.c:480 kasan_report+0x118/0x150 mm/kasan/report.c:593 hfsplus_bnode_read+0xc0/0x2a0 fs/hfsplus/bnode.c:32 hfsplus_bnode_dump+0x300/0x450 fs/hfsplus/bnode.c:-1 hfsplus_brec_remove+0x480/0x550 fs/hfsplus/brec.c:229 __hfsplus_delete_attr+0x1d4/0x360 fs/hfsplus/attributes.c:299 hfsplus_delete_attr+0x231/0x2d0 fs/hfsplus/attributes.c:345 hfsplus_removexattr fs/hfsplus/xattr.c:792 [inline] __hfsplus_setxattr+0x71c/0x1f40 fs/hfsplus/xattr.c:275 hfsplus_setxattr+0x11e/0x180 fs/hfsplus/xattr.c:432 hfsplus_trusted_setxattr+0x40/0x60 fs/hfsplus/xattr_trusted.c:30 __vfs_removexattr+0x431/0x470 fs/xattr.c:518 __vfs_removexattr_locked+0x1ed/0x230 fs/xattr.c:553 vfs_removexattr+0x80/0x1b0 fs/xattr.c:575 removexattr fs/xattr.c:1023 [inline] filename_removexattr fs/xattr.c:1052 [inline] path_removexattrat+0x35d/0x690 fs/xattr.c:1088 __do_sys_lremovexattr fs/xattr.c:1106 [inline] __se_sys_lremovexattr fs/xattr.c:1103 [inline] __x64_sys_lremovexattr+0x65/0x80 fs/xattr.c:1103 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fbbd158e9a9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fbbd248f038 EFLAGS: 00000246 ORIG_RAX: 00000000000000c6 RAX: ffffffffffffffda RBX: 00007fbbd17b6080 RCX: 00007fbbd158e9a9 RDX: 0000000000000000 RSI: 00002000000000c0 RDI: 0000200000000240 RBP: 00007fbbd1610d69 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007fbbd17b6080 R15: 00007ffea913ade8 The buggy address belongs to the object at ffff88801a30b300 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 0 bytes inside of allocated 192-byte region [ffff88801a30b300, ffff88801a30b3c0) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff88801a30b300 pfn:0x1a30b flags: 0xfff00000000200(workingset|node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000200 ffff88801a4413c0 ffff88801a440288 ffff88801a440288 raw: ffff88801a30b300 0000000000100003 00000000f5000000 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x252800(GFP_NOWAIT|__GFP_NORETRY|__GFP_COMP|__GFP_THISNODE), pid 5341, tgid 5340 (syz.0.0), ts 74787035175, free_ts 72819500638 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x240/0x2a0 mm/page_alloc.c:1704 prep_new_page mm/page_alloc.c:1712 [inline] get_page_from_freelist+0x21e4/0x22c0 mm/page_alloc.c:3669 __alloc_pages_slowpath+0x2fe/0xce0 mm/page_alloc.c:4490 __alloc_frozen_pages_noprof+0x319/0x370 mm/page_alloc.c:4972 alloc_slab_page mm/slub.c:2453 [inline] allocate_slab+0x65/0x3b0 mm/slub.c:2619 new_slab mm/slub.c:2673 [inline] ___slab_alloc+0xbfc/0x1480 mm/slub.c:3859 __slab_alloc mm/slub.c:3949 [inline] __slab_alloc_node mm/slub.c:4024 [inline] slab_alloc_node mm/slub.c:4185 [inline] __do_kmalloc_node mm/slub.c:4327 [inline] __kmalloc_node_noprof+0x2fd/0x4e0 mm/slub.c:4334 kmalloc_array_node_noprof include/linux/slab.h:1020 [inline] alloc_slab_obj_exts+0x39/0xa0 mm/slub.c:1992 __memcg_slab_post_alloc_hook+0x31e/0x7f0 mm/memcontrol.c:3175 memcg_slab_post_alloc_hook mm/slub.c:2180 [inline] slab_post_alloc_hook mm/slub.c:4158 [inline] slab_alloc_node mm/slub.c:4197 [inline] kmem_cache_alloc_noprof+0x2bf/0x3c0 mm/slub.c:4204 alloc_buffer_head+0x2a/0x270 fs/buffer.c:3032 folio_alloc_buffers+0x32d/0x640 fs/buffer.c:935 create_empty_buffers+0x3a/0x530 fs/buffer.c:1697 block_read_full_folio+0x116/0x830 fs/buffer.c:2410 filemap_read_folio+0x117/0x380 mm/filemap.c:2412 do_read_cache_folio+0x350/0x590 mm/filemap.c:3894 page last free pid 54 tgid 54 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1248 [inline] __free_frozen_pages+0xc71/0xe70 mm/page_alloc.c:2706 rcu_do_batch kernel/rcu/tree.c:2576 [inline] rcu_core+0xca5/0x1710 kernel/rcu/tree.c:2832 handle_softirqs+0x286/0x870 kernel/softirq.c:579 do_softirq+0xec/0x180 kernel/softirq.c:480 __local_bh_enable_ip+0x17d/0x1c0 kernel/softirq.c:407 ipv6_get_lladdr+0x2aa/0x3f0 net/ipv6/addrconf.c:1937 mld_newpack+0x420/0xc40 net/ipv6/mcast.c:1802 add_grhead+0x5a/0x2a0 net/ipv6/mcast.c:1899 add_grec+0x13b2/0x1670 net/ipv6/mcast.c:2037 mld_send_cr net/ipv6/mcast.c:2163 [inline] mld_ifc_work+0x6e6/0xde0 net/ipv6/mcast.c:2702 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3321 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3402 kthread+0x70e/0x8a0 kernel/kthread.c:464 ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Memory state around the buggy address: ffff88801a30b200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88801a30b280: 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88801a30b300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff88801a30b380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff88801a30b400: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ==================================================================