syzbot


KASAN: use-after-free Read in udf_free_inode (2)

Status: upstream: reported on 2025/09/17 07:23
Reported-by: syzbot+206d16b2ebe23bbf502f@syzkaller.appspotmail.com
First crash: 9h43m, last: 9h43m
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: use-after-free Read in udf_free_inode fs 19 1 995d 991d 0/29 auto-obsoleted due to no activity on 2023/03/26 23:00
linux-5.15 KASAN: use-after-free Read in udf_free_inode 19 1 248d 248d 0/3 auto-obsoleted due to no activity on 2025/04/22 09:43
linux-6.1 KASAN: use-after-free Read in udf_free_inode 19 1 443d 443d 0/3 auto-obsoleted due to no activity on 2024/10/09 09:17
linux-6.1 BUG: unable to handle kernel paging request in udf_free_inode (2) 8 C 23 1d01h 1d08h 0/3 upstream: reported C repro on 2025/09/16 08:14
upstream BUG: unable to handle kernel paging request in udf_free_inode udf 8 1 1421d 1417d 0/29 auto-closed as invalid on 2022/01/25 11:13
linux-6.1 BUG: unable to handle kernel paging request in udf_free_inode 8 1 315d 315d 0/3 auto-obsoleted due to no activity on 2025/02/14 07:32

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in le32_add_cpu include/linux/byteorder/generic.h:151 [inline]
BUG: KASAN: use-after-free in udf_free_inode+0x258/0x2d0 fs/udf/ialloc.c:-1
Read of size 4 at addr ffff8880aa7ac5c0 by task syz.2.229/5635

CPU: 0 PID: 5635 Comm: syz.2.229 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x168/0x230 lib/dump_stack.c:106
 print_address_description+0x60/0x2d0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:434 [inline]
 kasan_report+0xdf/0x130 mm/kasan/report.c:451
 le32_add_cpu include/linux/byteorder/generic.h:151 [inline]
 udf_free_inode+0x258/0x2d0 fs/udf/ialloc.c:-1
 evict+0x485/0x870 fs/inode.c:647
 do_unlinkat+0x3d8/0x6f0 fs/namei.c:4355
 __do_sys_unlink fs/namei.c:4396 [inline]
 __se_sys_unlink fs/namei.c:4394 [inline]
 __x64_sys_unlink+0x45/0x50 fs/namei.c:4394
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fa244821ba9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fa242a68038 EFLAGS: 00000246 ORIG_RAX: 0000000000000057
RAX: ffffffffffffffda RBX: 00007fa244a69090 RCX: 00007fa244821ba9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000080
RBP: 00007fa2448a4e19 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fa244a69128 R14: 00007fa244a69090 R15: 00007ffc83afa3c8
 </TASK>

The buggy address belongs to the page:
page:ffffea0002a9eb00 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0xaa7ac
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 ffffea0002a9eb08 ffffea0002a9eb08 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner info is not present (never set?)

Memory state around the buggy address:
 ffff8880aa7ac480: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff8880aa7ac500: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff8880aa7ac580: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                           ^
 ffff8880aa7ac600: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff8880aa7ac680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/17 07:23 linux-5.15.y 43bb85222e53 e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Read in udf_free_inode
* Struck through repros no longer work on HEAD.