syzbot


BUG: sleeping function called from invalid context in z_erofs_do_read_page

Status: upstream: reported C repro on 2026/01/18 14:32
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+b679814316073f532e4a@syzkaller.appspotmail.com
First crash: 8d12h, last: 5d12h
Bug presence (2)
Date Name Commit Repro Result
2026/01/20 linux-5.15.y (ToT) 9eec9a14ee10 C [report] BUG: sleeping function called from invalid context in z_erofs_do_read_page
2026/01/20 upstream (ToT) 24d479d26b25 C Didn't crash
Fix bisection attempts (1)
Created Duration User Patch Repo Result
2026/01/21 23:23 1m fix candidate upstream error job log

Sample crash report:
erofs: (device loop0): z_erofs_readahead: readahead error at page 48 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: bogus lookback distance @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 47 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 46 @ nid 36
BUG: sleeping function called from invalid context at include/linux/sched/mm.h:209
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 4356, name: syz.0.17
1 lock held by syz.0.17/4356:
 #0: ffff88805ce70320 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: filemap_invalidate_lock_shared include/linux/fs.h:842 [inline]
 #0: ffff88805ce70320 (mapping.invalidate_lock#3){.+.+}-{3:3}, at: page_cache_ra_unbounded+0x198/0x940 mm/readahead.c:195
Preemption disabled at:
[<ffffffff8398fa12>] kmap_atomic include/linux/highmem-internal.h:196 [inline]
[<ffffffff8398fa12>] z_erofs_reload_indexes+0x1c2/0x590 fs/erofs/zmap.c:130
CPU: 0 PID: 4356 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106
 ___might_sleep+0x493/0x610 kernel/sched/core.c:9658
 might_alloc include/linux/sched/mm.h:209 [inline]
 slab_pre_alloc_hook+0x42/0xc0 mm/slab.h:492
 slab_alloc_node mm/slub.c:3139 [inline]
 slab_alloc mm/slub.c:3233 [inline]
 kmem_cache_alloc+0x3d/0x290 mm/slub.c:3238
 kmem_cache_zalloc include/linux/slab.h:728 [inline]
 z_erofs_alloc_pcluster fs/erofs/zdata.c:74 [inline]
 z_erofs_register_collection fs/erofs/zdata.c:480 [inline]
 z_erofs_collector_begin fs/erofs/zdata.c:557 [inline]
 z_erofs_do_read_page+0x6c1/0x26c0 fs/erofs/zdata.c:693
 z_erofs_readahead+0x85d/0x1140 fs/erofs/zdata.c:1449
 read_pages+0x175/0x930 mm/readahead.c:130
 page_cache_ra_unbounded+0x838/0x940 mm/readahead.c:239
 do_page_cache_ra mm/readahead.c:269 [inline]
 force_page_cache_ra+0x3e5/0x440 mm/readahead.c:301
 force_page_cache_readahead mm/internal.h:78 [inline]
 generic_fadvise+0x530/0x7f0 mm/fadvise.c:107
 vfs_fadvise mm/fadvise.c:186 [inline]
 ksys_fadvise64_64 mm/fadvise.c:200 [inline]
 __do_sys_fadvise64 mm/fadvise.c:215 [inline]
 __se_sys_fadvise64 mm/fadvise.c:213 [inline]
 __x64_sys_fadvise64+0x139/0x180 mm/fadvise.c:213
 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:0x7fc2acf69cb9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe0fdc0458 EFLAGS: 00000246 ORIG_RAX: 00000000000000dd
RAX: ffffffffffffffda RBX: 00007fc2ad1e4fa0 RCX: 00007fc2acf69cb9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 00007fc2acfd7bf7 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fc2ad1e4fac R14: 00007fc2ad1e4fa0 R15: 00007fc2ad1e4fa0
 </TASK>
erofs: (device loop0): z_erofs_readahead: readahead error at page 44 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: invalid lookback distance 0 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 43 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: bogus lookback distance @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 41 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 38 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 37 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 35 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 34 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 33 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 32 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 31 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 29 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 28 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 27 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 26 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 25 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: bogus lookback distance @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 24 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 23 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 22 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: bogus lookback distance @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 21 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 20 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 19 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 18 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 17 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 16 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: bogus lookback distance @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 15 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 14 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 13 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 12 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 9 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 8 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 7 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: bogus lookback distance @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 6 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 5 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 4 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 3 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: invalid lookback distance 0 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 1 @ nid 36
erofs: (device loop0): z_erofs_extent_lookback: invalid lookback distance 0 @ nid 36
erofs: (device loop0): z_erofs_readahead: readahead error at page 0 @ nid 36
attempt to access beyond end of device
loop0: rw=524288, want=720, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=525144, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=72, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=1183600, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=296, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=1048976, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=3670472, limit=16
attempt to access beyond end of device
loop0: rw=524288, want=790384, limit=16
BUG: scheduling while atomic: syz.0.17/4356/0x00000005
no locks held by syz.0.17/4356.
Modules linked in:
Preemption disabled at:
[<ffffffff8398fa12>] kmap_atomic include/linux/highmem-internal.h:196 [inline]
[<ffffffff8398fa12>] z_erofs_reload_indexes+0x1c2/0x590 fs/erofs/zmap.c:130

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/01/18 15:18 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-linux-5-15-kasan BUG: sleeping function called from invalid context in z_erofs_do_read_page
2026/01/18 14:54 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-linux-5-15-kasan BUG: sleeping function called from invalid context in z_erofs_do_read_page
2026/01/21 15:23 linux-5.15.y 9eec9a14ee10 6f1aa2f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan BUG: sleeping function called from invalid context in z_erofs_do_read_page
2026/01/18 14:32 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan BUG: sleeping function called from invalid context in z_erofs_do_read_page
2026/01/18 14:31 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan BUG: sleeping function called from invalid context in z_erofs_do_read_page
2026/01/18 14:31 linux-5.15.y 68efe5a6c16a 20d37d28 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan BUG: sleeping function called from invalid context in z_erofs_do_read_page
* Struck through repros no longer work on HEAD.