syzbot


KASAN: use-after-free Read in sysv_new_inode

Status: upstream: reported C repro on 2024/04/22 17:59
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+bdff56916773908c2fcc@syzkaller.appspotmail.com
First crash: 55d, last: 3d01h
Bug presence (1)
Date Name Commit Repro Result
2024/05/12 upstream (ToT) cf87f46fd34d C [report] KASAN: use-after-free Read in sysv_new_inode
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: use-after-free Read in sysv_new_inode fs 1 132d 128d 0/27 auto-obsoleted due to no activity on 2024/04/05 09:37
upstream KASAN: use-after-free Read in sysv_new_inode (2) fs C 262 1d00h 38d 0/27 upstream: reported C repro on 2024/05/09 07:33
linux-5.15 KASAN: use-after-free Read in sysv_new_inode origin:upstream C 14 16d 63d 0/3 upstream: reported C repro on 2024/04/14 13:45

Sample crash report:
loop0: rw=0, sector=17669878, nr_sectors = 2 limit=128
Buffer I/O error on dev loop0, logical block 8834939, async page read
==================================================================
BUG: KASAN: use-after-free in sysv_new_inode+0xd8c/0xf04 fs/sysv/ialloc.c:153
Read of size 2 at addr ffff0000e00081ce by task syz-executor258/4334

CPU: 1 PID: 4334 Comm: syz-executor258 Not tainted 6.1.90-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
 __asan_report_load2_noabort+0x2c/0x38 mm/kasan/report_generic.c:349
 sysv_new_inode+0xd8c/0xf04 fs/sysv/ialloc.c:153
 sysv_mknod+0x5c/0x100 fs/sysv/namei.c:53
 sysv_create+0x38/0x4c fs/sysv/namei.c:67
 lookup_open fs/namei.c:3484 [inline]
 open_last_lookups fs/namei.c:3552 [inline]
 path_openat+0xeac/0x2548 fs/namei.c:3782
 do_filp_open+0x1bc/0x3cc fs/namei.c:3812
 do_sys_openat2+0x128/0x3d8 fs/open.c:1318
 do_sys_open fs/open.c:1334 [inline]
 __do_sys_openat fs/open.c:1350 [inline]
 __se_sys_openat fs/open.c:1345 [inline]
 __arm64_sys_openat+0x1f0/0x240 fs/open.c:1345
 __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:00000000e2a5887f refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x120008
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 dead000000000100 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000e0008080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000e0008100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff0000e0008180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                              ^
 ffff0000e0008200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000e0008280: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/05/12 12:28 linux-6.1.y 909ba1f1b414 9026e142 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in sysv_new_inode
2024/04/28 01:54 linux-6.1.y f2295faba5e8 07b455f9 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: slab-out-of-bounds Read in sysv_new_inode
2024/06/14 03:35 linux-6.1.y ae9f2a70d69e a9616ff5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in sysv_new_inode
2024/05/24 01:43 linux-6.1.y 4078fa637fcd 8f98448e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in sysv_new_inode
2024/05/23 10:07 linux-6.1.y 4078fa637fcd 4c2072ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in sysv_new_inode
2024/05/07 21:37 linux-6.1.y 909ba1f1b414 cb2dcc0e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in sysv_new_inode
2024/04/22 17:58 linux-6.1.y 6741e066ec76 36c961ad .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in sysv_new_inode
* Struck through repros no longer work on HEAD.