syzbot


BUG: unable to handle kernel NULL pointer dereference in z_erofs_decompress

Status: upstream: reported C repro on 2025/12/29 07:00
Reported-by: syzbot+4de80acc7c04fedb64e9@syzkaller.appspotmail.com
First crash: 14d, last: 14d

Sample crash report:
erofs: (device loop2): mounted with root inode @ nid 36.
erofs: (device loop2): z_erofs_extent_lookback: bogus lookback distance @ nid 36
BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor instruction fetch in kernel mode
#PF: error_code(0x0010) - not-present page
PGD 10f165067 P4D 10f165067 PUD 0 
Oops: 0010 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 355 Comm: syz.2.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:0x0
Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
RSP: 0018:ffffc90000c96bc8 EFLAGS: 00010246
RAX: 1ffffffff0a3b5ce RBX: ffffc90000c97520 RCX: ffff88810d4d2780
RDX: 0000000000000000 RSI: ffffc90000c97520 RDI: ffffc90000c97080
RBP: ffffc90000c96bf0 R08: dffffc0000000000 R09: ffffc90000c970aa
R10: fffff52000192e16 R11: 1ffff92000192e15 R12: dffffc0000000000
R13: 000000000000073b R14: ffffc90000c97080 R15: ffffffff851dae70
FS:  000055555b0ce500(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd6 CR3: 000000010f3ba000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 z_erofs_decompress+0x79/0xb0 fs/erofs/decompressor.c:360
 z_erofs_decompress_pcluster fs/erofs/zdata.c:1110 [inline]
 z_erofs_decompress_queue+0x1066/0x1a10 fs/erofs/zdata.c:1188
 z_erofs_runqueue+0x11c9/0x1230 fs/erofs/zdata.c:1515
 z_erofs_readpage+0x1f3/0x480 fs/erofs/zdata.c:1533
 do_read_cache_page+0x69b/0xaa0 mm/filemap.c:-1
 read_cache_page+0x50/0x70 mm/filemap.c:3296
 read_mapping_page include/linux/pagemap.h:498 [inline]
 find_target_block_classic fs/erofs/namei.c:104 [inline]
 erofs_namei+0x162/0x10d0 fs/erofs/namei.c:184
 erofs_lookup+0xa5/0x260 fs/erofs/namei.c:228
 __lookup_slow+0x2aa/0x3e0 fs/namei.c:1648
 lookup_slow+0x57/0x70 fs/namei.c:1665
 walk_component+0x325/0x460 fs/namei.c:1960
 link_path_walk+0x5b2/0xb80 fs/namei.c:-1
 path_openat+0x27c/0x3160 fs/namei.c:3513
 do_filp_open+0x1b3/0x3e0 fs/namei.c:3544
 do_sys_openat2+0x14c/0x6d0 fs/open.c:1219
 do_sys_open fs/open.c:1235 [inline]
 __do_sys_open fs/open.c:1243 [inline]
 __se_sys_open fs/open.c:1239 [inline]
 __x64_sys_open+0x11c/0x140 fs/open.c:1239
 do_syscall_64+0x31/0x40 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7ff1518c7749
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:00007ffd1ccb6978 EFLAGS: 00000246 ORIG_RAX: 0000000000000002
RAX: ffffffffffffffda RBX: 00007ff151b1dfa0 RCX: 00007ff1518c7749
RDX: 0000000000000000 RSI: 00000000001a1342 RDI: 0000200000000000
RBP: 00007ff15194bf91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ff151b1dfa0 R14: 00007ff151b1dfa0 R15: 0000000000000003
Modules linked in:
CR2: 0000000000000000
---[ end trace 5f0909b7aab4a97c ]---
RIP: 0010:0x0
Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
RSP: 0018:ffffc90000c96bc8 EFLAGS: 00010246
RAX: 1ffffffff0a3b5ce RBX: ffffc90000c97520 RCX: ffff88810d4d2780
RDX: 0000000000000000 RSI: ffffc90000c97520 RDI: ffffc90000c97080
RBP: ffffc90000c96bf0 R08: dffffc0000000000 R09: ffffc90000c970aa
R10: fffff52000192e16 R11: 1ffff92000192e15 R12: dffffc0000000000
R13: 000000000000073b R14: ffffc90000c97080 R15: ffffffff851dae70
FS:  000055555b0ce500(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd6 CR3: 000000010f3ba000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/29 07:16 android13-5.10-lts e253c52bbdfc d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-android-5-10 BUG: unable to handle kernel NULL pointer dereference in z_erofs_decompress
2025/12/29 06:52 android13-5.10-lts e253c52bbdfc d6526ea3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-android-5-10 BUG: unable to handle kernel NULL pointer dereference in z_erofs_decompress
2025/12/29 06:28 android13-5.10-lts e253c52bbdfc d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 BUG: unable to handle kernel NULL pointer dereference in z_erofs_decompress
* Struck through repros no longer work on HEAD.