syzbot


KASAN: use-after-free Read in ocfs2_claim_suballoc_bits

Status: upstream: reported C repro on 2025/06/01 03:41
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+fb408929fcf86a347a21@syzkaller.appspotmail.com
First crash: 10d, last: 9d23h
Bug presence (1)
Date Name Commit Repro Result
2025/06/01 upstream (ToT) 7d4e49a77d99 C [report] KASAN: use-after-free Read in ocfs2_claim_suballoc_bits
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 KASAN: use-after-free Read in ocfs2_claim_suballoc_bits origin:upstream C 2 25d 71d 0/3 upstream: reported C repro on 2025/03/31 10:14
upstream KASAN: use-after-free Read in ocfs2_claim_suballoc_bits ocfs2 C inconclusive 216 1d04h 292d 0/28 upstream: reported C repro on 2024/08/22 08:11

Sample crash report:
loop0: detected capacity change from 0 to 32768
ocfs2: Mounting device (7,0) on (node local, slot 0) with ordered data mode.
==================================================================
BUG: KASAN: use-after-free in ocfs2_find_victim_chain fs/ocfs2/suballoc.c:1391 [inline]
BUG: KASAN: use-after-free in ocfs2_claim_suballoc_bits+0x88c/0x1bfc fs/ocfs2/suballoc.c:1927
Read of size 4 at addr ffff0000e4437000 by task syz-executor261/4295

CPU: 0 PID: 4295 Comm: syz-executor261 Not tainted 6.1.140-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call trace:
 dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
 __dump_stack+0x30/0x40 lib/dump_stack.c:88
 dump_stack_lvl+0xf8/0x160 lib/dump_stack.c:106
 print_address_description+0x88/0x220 mm/kasan/report.c:316
 print_report+0x50/0x68 mm/kasan/report.c:427
 kasan_report+0xa8/0x100 mm/kasan/report.c:531
 __asan_report_load4_noabort+0x2c/0x38 mm/kasan/report_generic.c:350
 ocfs2_find_victim_chain fs/ocfs2/suballoc.c:1391 [inline]
 ocfs2_claim_suballoc_bits+0x88c/0x1bfc fs/ocfs2/suballoc.c:1927
 ocfs2_claim_new_inode+0x2e8/0x700 fs/ocfs2/suballoc.c:2210
 ocfs2_mknod_locked+0xfc/0x228 fs/ocfs2/namei.c:635
 ocfs2_mknod+0xe64/0x1f18 fs/ocfs2/namei.c:381
 ocfs2_mkdir+0x19c/0x4f0 fs/ocfs2/namei.c:657
 vfs_mkdir+0x314/0x4d4 fs/namei.c:4106
 do_mkdirat+0x1b4/0x3e0 fs/namei.c:4131
 __do_sys_mkdirat fs/namei.c:4146 [inline]
 __se_sys_mkdirat fs/namei.c:4144 [inline]
 __arm64_sys_mkdirat+0x90/0xa8 fs/namei.c:4144
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x138 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:00000000d0078541 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x124437
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 fffffc000386ad08 ffff00019f730e20 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000e4436f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff0000e4436f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff0000e4437000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff0000e4437080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000e4437100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
OCFS2: ERROR (device loop0): int ocfs2_validate_gd_self(struct super_block *, struct buffer_head *, int): Group descriptor #0 has bad signature 
On-disk corruption discovered. Please run fsck.ocfs2 once the filesystem is unmounted.
OCFS2: File system is now read-only.
(syz-executor261,4295,0):ocfs2_search_chain:1761 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_search_chain:1871 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_claim_suballoc_bits:1940 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_claim_suballoc_bits:1983 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_claim_new_inode:2216 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_claim_new_inode:2231 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_mknod_locked:639 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_mknod:385 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_mknod:502 ERROR: status = -30
(syz-executor261,4295,0):ocfs2_mkdir:659 ERROR: status = -30
ocfs2: Unmounting device (7,0) on (node local)

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/01 06:05 linux-6.1.y da3c5173c55f 3d2f584d .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (clean fs)] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_claim_suballoc_bits
2025/06/01 05:12 linux-6.1.y da3c5173c55f 3d2f584d .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (clean fs)] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_claim_suballoc_bits
2025/06/01 04:29 linux-6.1.y da3c5173c55f 3d2f584d .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (clean fs)] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_claim_suballoc_bits
2025/06/01 03:40 linux-6.1.y da3c5173c55f 3d2f584d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_claim_suballoc_bits
* Struck through repros no longer work on HEAD.