syzbot


general protection fault in mpage_readahead

Status: moderation: reported on 2025/10/02 03:39
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+31c428684be9035d5108@syzkaller.appspotmail.com
First crash: 5d22h, last: 5d22h

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 0 UID: 0 PID: 11530 Comm: syz.0.1024 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
RIP: 0010:const_folio_flags include/linux/page-flags.h:351 [inline]
RIP: 0010:folio_test_locked include/linux/page-flags.h:551 [inline]
RIP: 0010:__readahead_folio include/linux/pagemap.h:1418 [inline]
RIP: 0010:readahead_folio include/linux/pagemap.h:1434 [inline]
RIP: 0010:mpage_readahead+0x1bf/0x790 fs/mpage.c:367
Code: 89 e7 e8 b4 27 dc ff 49 8b 3c 24 48 83 c7 08 4c 89 fe e8 e4 2e 34 09 49 89 c7 48 8d 58 08 48 89 d8 48 c1 e8 03 48 89 44 24 38 <42> 80 3c 28 00 74 08 48 89 df e8 82 27 dc ff 4c 8b 33 4c 89 f6 48
RSP: 0000:ffffc900033e7180 EFLAGS: 00010202
RAX: 0000000000000001 RBX: 0000000000000008 RCX: 51d85eb9eea76500
RDX: 0000000000000001 RSI: ffffffff8dd8dcaa RDI: ffff888033155ac0
RBP: ffffc900033e7370 R08: ffff888033155ac0 R09: 0000000000000002
R10: 0000000000000406 R11: 0000000000000002 R12: ffffc900033e7728
R13: dffffc0000000000 R14: 0000000000000010 R15: 0000000000000000
FS:  00007fcda82b16c0(0000) GS:ffff8881259fc000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b3331bff8 CR3: 000000007529a000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 read_pages+0x17a/0x580 mm/readahead.c:163
 page_cache_ra_unbounded+0x75e/0x9a0 mm/readahead.c:302
 filemap_get_pages+0x468/0x1de0 mm/filemap.c:2638
 filemap_splice_read+0x581/0xc60 mm/filemap.c:3027
 do_splice_read fs/splice.c:982 [inline]
 splice_direct_to_actor+0x4a9/0xcc0 fs/splice.c:1086
 do_splice_direct_actor fs/splice.c:1204 [inline]
 do_splice_direct+0x181/0x270 fs/splice.c:1230
 do_sendfile+0x4da/0x7e0 fs/read_write.c:1370
 __do_sys_sendfile64 fs/read_write.c:1431 [inline]
 __se_sys_sendfile64+0x13e/0x190 fs/read_write.c:1417
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fcda738eec9
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:00007fcda82b1038 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 00007fcda75e5fa0 RCX: 00007fcda738eec9
RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000004
RBP: 00007fcda7411f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000020fffe82 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fcda75e6038 R14: 00007fcda75e5fa0 R15: 00007ffdad18ac88
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:const_folio_flags include/linux/page-flags.h:351 [inline]
RIP: 0010:folio_test_locked include/linux/page-flags.h:551 [inline]
RIP: 0010:__readahead_folio include/linux/pagemap.h:1418 [inline]
RIP: 0010:readahead_folio include/linux/pagemap.h:1434 [inline]
RIP: 0010:mpage_readahead+0x1bf/0x790 fs/mpage.c:367
Code: 89 e7 e8 b4 27 dc ff 49 8b 3c 24 48 83 c7 08 4c 89 fe e8 e4 2e 34 09 49 89 c7 48 8d 58 08 48 89 d8 48 c1 e8 03 48 89 44 24 38 <42> 80 3c 28 00 74 08 48 89 df e8 82 27 dc ff 4c 8b 33 4c 89 f6 48
RSP: 0000:ffffc900033e7180 EFLAGS: 00010202
RAX: 0000000000000001 RBX: 0000000000000008 RCX: 51d85eb9eea76500
RDX: 0000000000000001 RSI: ffffffff8dd8dcaa RDI: ffff888033155ac0
RBP: ffffc900033e7370 R08: ffff888033155ac0 R09: 0000000000000002
R10: 0000000000000406 R11: 0000000000000002 R12: ffffc900033e7728
R13: dffffc0000000000 R14: 0000000000000010 R15: 0000000000000000
FS:  00007fcda82b16c0(0000) GS:ffff8881259fc000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005555657bd608 CR3: 000000007529a000 CR4: 00000000003526f0
----------------
Code disassembly (best guess):
   0:	89 e7                	mov    %esp,%edi
   2:	e8 b4 27 dc ff       	call   0xffdc27bb
   7:	49 8b 3c 24          	mov    (%r12),%rdi
   b:	48 83 c7 08          	add    $0x8,%rdi
   f:	4c 89 fe             	mov    %r15,%rsi
  12:	e8 e4 2e 34 09       	call   0x9342efb
  17:	49 89 c7             	mov    %rax,%r15
  1a:	48 8d 58 08          	lea    0x8(%rax),%rbx
  1e:	48 89 d8             	mov    %rbx,%rax
  21:	48 c1 e8 03          	shr    $0x3,%rax
  25:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
* 2a:	42 80 3c 28 00       	cmpb   $0x0,(%rax,%r13,1) <-- trapping instruction
  2f:	74 08                	je     0x39
  31:	48 89 df             	mov    %rbx,%rdi
  34:	e8 82 27 dc ff       	call   0xffdc27bb
  39:	4c 8b 33             	mov    (%rbx),%r14
  3c:	4c 89 f6             	mov    %r14,%rsi
  3f:	48                   	rex.W

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/28 03:37 linux-next 262858079afd 001c9061 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in mpage_readahead
* Struck through repros no longer work on HEAD.