syzbot


KASAN: out-of-bounds Read in leaf_copy_items_entirely

Status: upstream: reported syz repro on 2024/10/23 22:26
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+0202c08c97b105c6f8e8@syzkaller.appspotmail.com
First crash: 46d, last: 45d
Bug presence (2)
Date Name Commit Repro Result
2024/10/24 linux-5.15.y (ToT) 74cdd62cb470 C [report] KASAN: out-of-bounds Read in leaf_copy_items_entirely
2024/10/24 upstream (ToT) c2ee9f594da8 C Didn't crash
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: out-of-bounds Read in leaf_copy_items_entirely reiserfs 1 682d 678d 0/28 auto-obsoleted due to no activity on 2023/04/26 19:07
linux-6.1 KASAN: out-of-bounds Read in leaf_copy_items_entirely origin:upstream C error 1 533d 533d 0/3 upstream: reported C repro on 2023/06/24 04:16
upstream KASAN: use-after-free Read in leaf_copy_items_entirely reiserfs 1 566d 565d 0/28 auto-obsoleted due to no activity on 2023/08/30 18:25
Last patch testing requests (1)
Created Duration User Patch Repo Result
2024/11/07 19:03 16m retest repro linux-5.15.y OK log
Fix bisection attempts (1)
Created Duration User Patch Repo Result
2024/11/09 09:55 2m fix candidate upstream error job log

Sample crash report:
==================================================================
BUG: KASAN: out-of-bounds in leaf_copy_items_entirely+0x398/0x70c fs/reiserfs/lbalance.c:379
Read of size 18446744073709490108 at addr ffff0000ef666044 by task syz.4.24/4276

CPU: 1 PID: 4276 Comm: syz.4.24 Not tainted 5.15.169-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Call trace:
 dump_backtrace+0x0/0x530 arch/arm64/kernel/stacktrace.c:152
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:216
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
 print_address_description+0x7c/0x3f0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:434 [inline]
 kasan_report+0x174/0x1e4 mm/kasan/report.c:451
 kasan_check_range+0x274/0x2b4 mm/kasan/generic.c:189
 memmove+0x90/0xe8 mm/kasan/shadow.c:54
 leaf_copy_items_entirely+0x398/0x70c fs/reiserfs/lbalance.c:379
 leaf_copy_items fs/reiserfs/lbalance.c:603 [inline]
 leaf_move_items+0xd50/0x1f7c fs/reiserfs/lbalance.c:726
 leaf_shift_right+0x3c/0xec fs/reiserfs/lbalance.c:803
 balance_leaf_paste_right_whole fs/reiserfs/do_balan.c:846 [inline]
 balance_leaf_paste_right fs/reiserfs/do_balan.c:900 [inline]
 balance_leaf_right fs/reiserfs/do_balan.c:916 [inline]
 balance_leaf+0x23cc/0xe860 fs/reiserfs/do_balan.c:1415
 do_balance+0x27c/0x790 fs/reiserfs/do_balan.c:1888
 reiserfs_paste_into_item+0x630/0x744 fs/reiserfs/stree.c:2159
 reiserfs_get_block+0x1820/0x3fd0 fs/reiserfs/inode.c:1077
 __block_write_begin_int+0x3ec/0x1608 fs/buffer.c:2012
 __block_write_begin+0x40/0x54 fs/buffer.c:2062
 reiserfs_write_begin+0x3c8/0x654 fs/reiserfs/inode.c:2790
 generic_perform_write+0x24c/0x520 mm/filemap.c:3785
 __generic_file_write_iter+0x230/0x454 mm/filemap.c:3912
 generic_file_write_iter+0xb4/0x1b8 mm/filemap.c:3944
 call_write_iter include/linux/fs.h:2174 [inline]
 new_sync_write fs/read_write.c:507 [inline]
 vfs_write+0x884/0xb44 fs/read_write.c:594
 ksys_write+0x15c/0x26c fs/read_write.c:647
 __do_sys_write fs/read_write.c:659 [inline]
 __se_sys_write fs/read_write.c:656 [inline]
 __arm64_sys_write+0x7c/0x90 fs/read_write.c:656
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
 el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:608
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584

The buggy address belongs to the page:
page:0000000001e40f83 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x12f666
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 fffffc0003bd99c8 fffffc0003bd9948 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000ef665f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000ef665f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff0000ef666000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                           ^
 ffff0000ef666080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000ef666100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
REISERFS warning (device loop4): clm-6006 reiserfs_dirty_inode: writing inode 4 on readonly FS

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/24 01:15 linux-5.15.y 74cdd62cb470 15fa2979 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan-arm64 KASAN: out-of-bounds Read in leaf_copy_items_entirely
2024/10/24 06:05 linux-5.15.y 74cdd62cb470 15fa2979 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan-arm64 KASAN: out-of-bounds Read in leaf_copy_items_entirely
2024/10/23 22:25 linux-5.15.y 74cdd62cb470 15fa2979 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 KASAN: out-of-bounds Read in leaf_copy_items_entirely
* Struck through repros no longer work on HEAD.