syzbot


KASAN: out-of-bounds Read in leaf_paste_entries

Status: upstream: reported C repro on 2020/10/05 14:11
Subsystems: reiserfs
[Documentation on labels]
Reported-by: syzbot+ca66b2bad4f257b51ec4@syzkaller.appspotmail.com
First crash: 1298d, last: 487d
Fix bisection: failed (error log)
  
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 KASAN: out-of-bounds Read in leaf_paste_entries reiserfs C error 73 419d 1258d 0/1 upstream: reported C repro on 2020/11/14 23:23
linux-5.15 KASAN: out-of-bounds Read in leaf_paste_entries origin:upstream C error 42 4d22h 409d 0/3 upstream: reported C repro on 2023/03/13 09:08
linux-6.1 KASAN: out-of-bounds Read in leaf_paste_entries origin:upstream C 52 13d 405d 0/3 upstream: reported C repro on 2023/03/18 05:48
upstream KASAN: out-of-bounds Read in leaf_paste_entries (2) reiserfs C inconclusive inconclusive 327 90d 864d 0/26 auto-obsoleted due to no activity on 2024/04/06 02:37
upstream KASAN: out-of-bounds Read in leaf_paste_entries reiserfs C inconclusive 8 929d 1160d 20/26 fixed on 2021/11/10 00:50
linux-4.14 KASAN: use-after-free Read in leaf_paste_entries C done 6 1217d 1260d 1/1 fixed on 2021/01/26 16:42
linux-4.19 KASAN: use-after-free Read in leaf_paste_entries C done 1 1223d 1223d 1/1 fixed on 2021/01/19 18:33
Last patch testing requests (2)
Created Duration User Patch Repo Result
2022/09/18 14:29 10m retest repro linux-4.14.y report log
2022/09/18 13:29 10m retest repro linux-4.14.y report log
Fix bisection attempts (12)
Created Duration User Patch Repo Result
2022/02/01 12:34 2m bisect fix linux-4.14.y error OK
2022/01/02 10:15 24m bisect fix linux-4.14.y job log (0) log
2021/12/03 09:51 23m bisect fix linux-4.14.y job log (0) log
2021/11/03 09:22 29m bisect fix linux-4.14.y job log (0) log
2021/10/04 08:53 28m bisect fix linux-4.14.y job log (0) log
2021/09/04 07:29 25m bisect fix linux-4.14.y job log (0) log
2021/08/05 07:07 21m bisect fix linux-4.14.y job log (0) log
2021/07/06 06:46 21m bisect fix linux-4.14.y job log (0) log
2021/06/06 06:23 22m bisect fix linux-4.14.y job log (0) log
2021/05/07 05:53 29m bisect fix linux-4.14.y job log (0) log
2021/03/25 09:18 22m bisect fix linux-4.14.y job log (0) log
2021/02/06 05:51 1m bisect fix linux-4.14.y error job log (0)

Sample crash report:
REISERFS (device loop0): journal params: device loop0, size 512, journal first block 18, max trans len 256, max batch 225, max commit age 4294967295, max trans age 30
REISERFS (device loop0): checking transaction log (loop0)
REISERFS (device loop0): Using r5 hash to sort names
REISERFS (device loop0): using 3.5.x disk format
==================================================================
BUG: KASAN: out-of-bounds in memmove include/linux/string.h:391 [inline]
BUG: KASAN: out-of-bounds in leaf_paste_entries+0x44b/0x9b0 fs/reiserfs/lbalance.c:1378
Read of size 18446744073709551584 at addr ffff88808acaafa4 by task syz-executor162/7988

CPU: 1 PID: 7988 Comm: syz-executor162 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+0x6f/0x80 mm/kasan/report.c:409
 memmove+0x20/0x50 mm/kasan/kasan.c:293
 memmove include/linux/string.h:391 [inline]
 leaf_paste_entries+0x44b/0x9b0 fs/reiserfs/lbalance.c:1378
 balance_leaf_finish_node_paste_dirent fs/reiserfs/do_balan.c:1306 [inline]
 balance_leaf_finish_node_paste fs/reiserfs/do_balan.c:1332 [inline]
 balance_leaf_finish_node fs/reiserfs/do_balan.c:1375 [inline]
 balance_leaf+0x827e/0xba30 fs/reiserfs/do_balan.c:1463
 do_balance+0x282/0x630 fs/reiserfs/do_balan.c:1899
 reiserfs_paste_into_item+0x569/0x6f0 fs/reiserfs/stree.c:2169
 reiserfs_add_entry+0x7d3/0xbc0 fs/reiserfs/namei.c:566
 reiserfs_mkdir+0x5ca/0x8b0 fs/reiserfs/namei.c:858
 create_privroot fs/reiserfs/xattr.c:880 [inline]
 reiserfs_xattr_init+0x393/0xa50 fs/reiserfs/xattr.c:1002
 reiserfs_fill_super+0x1d4a/0x2990 fs/reiserfs/super.c:2188
 mount_bdev+0x2b3/0x360 fs/super.c:1134
 mount_fs+0x92/0x2a0 fs/super.c:1237
 vfs_kern_mount.part.0+0x5b/0x470 fs/namespace.c:1046
 vfs_kern_mount fs/namespace.c:1036 [inline]
 do_new_mount fs/namespace.c:2572 [inline]
 do_mount+0xe65/0x2a30 fs/namespace.c:2905
 SYSC_mount fs/namespace.c:3121 [inline]
 SyS_mount+0xa8/0x120 fs/namespace.c:3098
 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
 entry_SYSCALL_64_after_hwframe+0x5e/0xd3
RIP: 0033:0x7fcd7770bf4a
RSP: 002b:00007ffd18731738 EFLAGS: 00000286 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fcd7770bf4a
RDX: 0000000020001100 RSI: 0000000020000040 RDI: 00007ffd18731750
RBP: 00007ffd18731750 R08: 00007ffd18731790 R09: 00000000000010f3
R10: 0000000000000000 R11: 0000000000000286 R12: 0000000000000004
R13: 00005555574e62c0 R14: 0000000000000000 R15: 00007ffd18731790

The buggy address belongs to the page:
page:ffffea00022b2a80 count:3 mapcount:0 mapping:ffff8880b1d80a68 index:0x213
flags: 0xfff00000001044(referenced|active|private)
raw: 00fff00000001044 ffff8880b1d80a68 0000000000000213 00000003ffffffff
raw: dead000000000100 dead000000000200 ffff88808db29dc8 ffff88823b3288c0
page dumped because: kasan: bad access detected
page->mem_cgroup:ffff88823b3288c0

Memory state around the buggy address:
 ffff88808acaae80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88808acaaf00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88808acaaf80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                               ^
 ffff88808acab000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88808acab080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================

Crashes (13):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/12/26 01:04 linux-4.14.y c4215ee4771b 9da18ae8 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 KASAN: out-of-bounds Read in leaf_paste_entries
2022/10/08 20:08 linux-4.14.y 9d5c0b3a8e1a aea5da89 .config console log report syz C [disk image] [vmlinux] [mounted in repro] ci2-linux-4-14 KASAN: out-of-bounds Read in leaf_paste_entries
2022/09/27 16:08 linux-4.14.y 4edbf74132a4 10323ddf .config console log report syz C ci2-linux-4-14 KASAN: out-of-bounds Read in leaf_paste_entries
2021/02/16 10:40 linux-4.14.y 2c8a3fceddf0 98682e5e .config console log report syz C ci2-linux-4-14 KASAN: out-of-bounds Read in leaf_paste_entries
2022/11/20 08:17 linux-4.14.y e911713e40ca 5bb70014 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 BUG: unable to handle kernel paging request in leaf_paste_entries
2020/11/30 12:24 linux-4.14.y 87335852c5d9 76831598 .config console log report syz C ci2-linux-4-14
2021/02/23 08:09 linux-4.14.y 29c52025152b fcc6d71b .config console log report info ci2-linux-4-14 KASAN: out-of-bounds Read in leaf_paste_entries
2021/02/17 19:43 linux-4.14.y 2c8a3fceddf0 14052202 .config console log report info ci2-linux-4-14 KASAN: out-of-bounds Read in leaf_paste_entries
2021/04/07 05:53 linux-4.14.y bd634aa64163 6a81331a .config console log report info ci2-linux-4-14 KASAN: use-after-free Read in leaf_paste_entries
2021/01/07 05:51 linux-4.14.y 1752938529c6 c104d4a3 .config console log report info ci2-linux-4-14
2020/12/18 18:40 linux-4.14.y 3f2ecb86cb90 04201c06 .config console log report info ci2-linux-4-14
2020/11/30 11:42 linux-4.14.y 87335852c5d9 76831598 .config console log report info ci2-linux-4-14
2020/10/05 14:10 linux-4.14.y cbfa1702aaf6 1880b4a9 .config console log report info ci2-linux-4-14
* Struck through repros no longer work on HEAD.