hfs: request for non-existent node 131072 in B*Tree hfs: request for non-existent node 131072 in B*Tree hfs: request for non-existent node 131072 in B*Tree hfs: request for non-existent node 131072 in B*Tree ================================================================== BUG: KASAN: slab-out-of-bounds in hfs_asc2mac+0x62a/0x680 fs/hfs/trans.c:133 Write of size 1 at addr ffff8880b309034e by task syz-executor.0/9793 CPU: 1 PID: 9793 Comm: syz-executor.0 Not tainted 4.14.302-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x1b2/0x281 lib/dump_stack.c:58 print_address_description.cold+0x54/0x1d3 mm/kasan/report.c:252 kasan_report_error.cold+0x8a/0x191 mm/kasan/report.c:351 kasan_report mm/kasan/report.c:409 [inline] __asan_report_store1_noabort+0x68/0x70 mm/kasan/report.c:432 hfs_asc2mac+0x62a/0x680 fs/hfs/trans.c:133 hfs_cat_build_key+0xbe/0x1a0 fs/hfs/catalog.c:28 hfs_lookup+0x18c/0x2b0 fs/hfs/dir.c:31 lookup_real fs/namei.c:1555 [inline] __lookup_hash fs/namei.c:1575 [inline] __lookup_hash+0x1bb/0x270 fs/namei.c:1563 filename_create+0x156/0x3f0 fs/namei.c:3677 user_path_create fs/namei.c:3734 [inline] SYSC_mkdirat fs/namei.c:3866 [inline] SyS_mkdirat+0x95/0x270 fs/namei.c:3858 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x5e/0xd3 RIP: 0033:0x7fa7b048e0a9 RSP: 002b:00007fa7aea00168 EFLAGS: 00000246 ORIG_RAX: 0000000000000102 RAX: ffffffffffffffda RBX: 00007fa7b05adf80 RCX: 00007fa7b048e0a9 RDX: 0000000000000000 RSI: 0000000020000200 RDI: 0000000000000005 RBP: 00007fa7b04e9ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd1525e94f R14: 00007fa7aea00300 R15: 0000000000022000 Allocated by task 9793: save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xeb/0x160 mm/kasan/kasan.c:551 __do_kmalloc mm/slab.c:3720 [inline] __kmalloc+0x15a/0x400 mm/slab.c:3729 kmalloc include/linux/slab.h:493 [inline] hfs_find_init+0x91/0x220 fs/hfs/bfind.c:21 hfs_lookup+0xea/0x2b0 fs/hfs/dir.c:28 lookup_real fs/namei.c:1555 [inline] __lookup_hash fs/namei.c:1575 [inline] __lookup_hash+0x1bb/0x270 fs/namei.c:1563 filename_create+0x156/0x3f0 fs/namei.c:3677 user_path_create fs/namei.c:3734 [inline] SYSC_mkdirat fs/namei.c:3866 [inline] SyS_mkdirat+0x95/0x270 fs/namei.c:3858 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x5e/0xd3 Freed by task 1: save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0xc3/0x1a0 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3496 [inline] kfree+0xc9/0x250 mm/slab.c:3815 aa_free_file_ctx security/apparmor/include/file.h:76 [inline] apparmor_file_free_security+0x7e/0xb0 security/apparmor/lsm.c:441 security_file_free+0x42/0x80 security/security.c:879 put_filp+0x23/0x90 fs/file_table.c:312 path_openat+0x212b/0x2970 fs/namei.c:3583 do_filp_open+0x179/0x3c0 fs/namei.c:3605 do_sys_open+0x296/0x410 fs/open.c:1081 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x5e/0xd3 The buggy address belongs to the object at ffff8880b3090300 which belongs to the cache kmalloc-96 of size 96 The buggy address is located 78 bytes inside of 96-byte region [ffff8880b3090300, ffff8880b3090360) The buggy address belongs to the page: page:ffffea0002cc2400 count:1 mapcount:0 mapping:ffff8880b3090000 index:0xffff8880b3090980 flags: 0xfff00000000100(slab) raw: 00fff00000000100 ffff8880b3090000 ffff8880b3090980 0000000100000016 raw: ffffea000277e160 ffffea000260c020 ffff88813fe744c0 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880b3090200: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff8880b3090280: 00 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc >ffff8880b3090300: 00 00 00 00 00 00 00 00 00 06 fc fc fc fc fc fc ^ ffff8880b3090380: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff8880b3090400: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ================================================================== XFS (loop2): Mounting V4 Filesystem XFS (loop2): Ending clean mount XFS (loop2): Quotacheck needed: Please wait. XFS (loop2): Quotacheck: Done. audit: type=1800 audit(1672196499.211:4): pid=9778 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.2" name="file0" dev="loop2" ino=44 res=0 XFS (loop1): Mounting V4 Filesystem audit: type=1804 audit(1672196499.211:5): pid=9778 uid=0 auid=4294967295 ses=4294967295 op="invalid_pcr" cause="open_writers" comm="syz-executor.2" name="/root/syzkaller-testdir4075000523/syzkaller.GQ98HH/16/file0/bus/file0" dev="loop2" ino=44 res=1 XFS (loop1): Ending clean mount XFS (loop1): Quotacheck needed: Please wait. XFS (loop1): Quotacheck: Done. audit: type=1800 audit(1672196499.331:6): pid=9772 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.1" name="file0" dev="loop1" ino=44 res=0 audit: type=1804 audit(1672196499.331:7): pid=9772 uid=0 auid=4294967295 ses=4294967295 op="invalid_pcr" cause="open_writers" comm="syz-executor.1" name="/root/syzkaller-testdir407522535/syzkaller.J7fncF/9/file0/bus/file0" dev="loop1" ino=44 res=1 XFS (loop2): Unmounting Filesystem