================================================================== BUG: KASAN: use-after-free in leaf_paste_in_buffer+0x578/0x9f0 Read of size 48 at addr ffff0000f854fff0 by task syz-executor.0/6529 CPU: 0 PID: 6529 Comm: syz-executor.0 Not tainted 6.1.83-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [inline] print_report+0x174/0x4c0 mm/kasan/report.c:395 kasan_report+0xd4/0x130 mm/kasan/report.c:495 kasan_check_range+0x264/0x2a4 mm/kasan/generic.c:189 memcpy+0x48/0x90 mm/kasan/shadow.c:65 leaf_paste_in_buffer+0x578/0x9f0 leaf_copy_dir_entries+0x2b4/0xa04 fs/reiserfs/lbalance.c:108 leaf_copy_boundary_item+0x8c4/0x1a34 fs/reiserfs/lbalance.c:168 leaf_copy_items fs/reiserfs/lbalance.c:551 [inline] leaf_move_items+0xa0c/0x1f7c fs/reiserfs/lbalance.c:726 leaf_shift_left+0xc8/0x39c fs/reiserfs/lbalance.c:750 balance_leaf_insert_left fs/reiserfs/do_balan.c:339 [inline] balance_leaf_left fs/reiserfs/do_balan.c:611 [inline] balance_leaf+0x189c/0xe860 fs/reiserfs/do_balan.c:1409 do_balance+0x27c/0x788 fs/reiserfs/do_balan.c:1888 reiserfs_insert_item+0x940/0xa84 fs/reiserfs/stree.c:2261 direct2indirect+0x5b8/0x10f8 fs/reiserfs/tail_conversion.c:84 reiserfs_get_block+0x40c4/0x45d8 fs/reiserfs/inode.c:949 __block_write_begin_int+0x340/0x13b4 fs/buffer.c:1991 __block_write_begin+0x7c/0xa0 fs/buffer.c:2041 reiserfs_write_begin+0x328/0x71c fs/reiserfs/inode.c:2775 generic_perform_write+0x278/0x55c mm/filemap.c:3817 __generic_file_write_iter+0x168/0x388 mm/filemap.c:3945 generic_file_write_iter+0xb8/0x2b4 mm/filemap.c:3977 call_write_iter include/linux/fs.h:2265 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x610/0x914 fs/read_write.c:584 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585 The buggy address belongs to the physical page: page:000000006e6ee2ad refcount:2 mapcount:0 mapping:000000001c54f7dd index:0x214 pfn:0x13854f memcg:ffff0000cb93e000 aops:def_blk_aops ino:700000 flags: 0x5ffd60000002052(referenced|lru|workingset|private|node=0|zone=2|lastcpupid=0x7ff) raw: 05ffd60000002052 fffffc0003e15388 fffffc0003d60c08 ffff0000c0483410 raw: 0000000000000214 ffff0000dec9f9f8 00000002ffffffff ffff0000cb93e000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000f854ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff0000f854ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff0000f8550000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff0000f8550080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff0000f8550100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[2 1 0(1) DIR], item_len 35, item_location 3937, free_space(entry_count) 2 REISERFS error (device loop0): vs-5150 search_by_key: invalid format found in block 531. Fsck? REISERFS (device loop0): Remounting filesystem read-only Unable to handle kernel paging request at virtual address dfff800000000005 KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] Mem abort info: ESR = 0x0000000096000006 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x06: level 2 translation fault Data abort info: ISV = 0, ISS = 0x00000006 CM = 0, WnR = 0 [dfff800000000005] address between user and kernel address ranges Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP Modules linked in: CPU: 0 PID: 6529 Comm: syz-executor.0 Tainted: G B 6.1.83-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : reiserfs_node_data fs/reiserfs/reiserfs.h:2184 [inline] pc : item_head fs/reiserfs/reiserfs.h:2200 [inline] pc : tp_item_head fs/reiserfs/reiserfs.h:2226 [inline] pc : direct2indirect+0x6c4/0x10f8 fs/reiserfs/tail_conversion.c:119 lr : tp_item_head fs/reiserfs/reiserfs.h:2226 [inline] lr : direct2indirect+0x684/0x10f8 fs/reiserfs/tail_conversion.c:119 sp : ffff800023c76de0 x29: ffff800023c76f20 x28: 0000000000000000 x27: 0000000000000028 x26: ffff0000e20670f8 x25: ffff800023c76e60 x24: ffff800023c77418 x23: dfff800000000000 x22: 0000000100000fff x21: ffff800023c77410 x20: ffff800023c77430 x19: 0000000000000000 x18: 1fffe0003686b776 x17: ffff80001583d000 x16: ffff800012151454 x15: 0000000000000000 x14: 00000000fffffffe x13: ffff0000d523d340 x12: 0000000000ff0100 x11: 0000000000ff0100 x10: 0000000000000000 x9 : ffff800008da9ec0 x8 : 0000000000000005 x7 : 1fffe0003686b777 x6 : ffff80000827c8d4 x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff800008b33434 x2 : 0000000000000001 x1 : 0000000000000001 x0 : 0000000000000008 Call trace: reiserfs_node_data fs/reiserfs/reiserfs.h:2184 [inline] item_head fs/reiserfs/reiserfs.h:2200 [inline] tp_item_head fs/reiserfs/reiserfs.h:2226 [inline] direct2indirect+0x6c4/0x10f8 fs/reiserfs/tail_conversion.c:119 reiserfs_get_block+0x40c4/0x45d8 fs/reiserfs/inode.c:949 __block_write_begin_int+0x340/0x13b4 fs/buffer.c:1991 __block_write_begin+0x7c/0xa0 fs/buffer.c:2041 reiserfs_write_begin+0x328/0x71c fs/reiserfs/inode.c:2775 generic_perform_write+0x278/0x55c mm/filemap.c:3817 __generic_file_write_iter+0x168/0x388 mm/filemap.c:3945 generic_file_write_iter+0xb8/0x2b4 mm/filemap.c:3977 call_write_iter include/linux/fs.h:2265 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x610/0x914 fs/read_write.c:584 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585 Code: 350011e8 9100a27b b9800293 d343ff68 (38776908) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: 350011e8 cbnz w8, 0x23c 4: 9100a27b add x27, x19, #0x28 8: b9800293 ldrsw x19, [x20] c: d343ff68 lsr x8, x27, #3 * 10: 38776908 ldrb w8, [x8, x23] <-- trapping instruction