syzbot
BUG: unable to handle kernel paging request in ioread32
Status:
upstream: reported on 2026/08/05 02:44
Reported-by: syzbot+3c34180b8b6661c4ffc0@syzkaller.appspotmail.com
First crash: 1d15h, last: 1d15h
Sample crash report:
BUG: unable to handle page fault for address: 0000000000055640
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 548db067 P4D 548db067 PUD 0
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 4279 Comm: kworker/0:3 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: events work_for_cpu_fn
RIP: 0010:readl arch/x86/include/asm/io.h:61 [inline]
RIP: 0010:ioread32+0x18/0x80 lib/iomap.c:99
Code: c0 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 55 53 48 89 fb e8 96 d2 68 fd 48 81 fb 00 00 04 00 72 09 e8 88 d2 68 fd <8b> 03 eb 57 48 81 fb 01 00 01 00 72 0a e8 76 d2 68 fd 89 da ed eb
RSP: 0018:ffffc90004307ae8 EFLAGS: 00010293
RAX: ffffffff84195b98 RBX: 0000000000055640 RCX: ffff8880735f3c00
RDX: 0000000000000000 RSI: ffffffff8a8c17a0 RDI: 0000000000055640
RBP: ffffc90004307bd0 R08: ffffffff90b1028f R09: 1ffffffff2162051
R10: dffffc0000000000 R11: fffffbfff2162052 R12: 0000000000055640
R13: dffffc0000000000 R14: ffff8881432f6000 R15: ffff888057b0cc28
FS: 0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000055640 CR3: 000000005c08a000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
nhi_probe+0x264/0xc20 drivers/thunderbolt/nhi.c:1319
local_pci_probe+0xc5/0x150 drivers/pci/pci-driver.c:324
work_for_cpu_fn+0x50/0x80 kernel/workqueue.c:5184
process_one_work+0x8ab/0x1160 kernel/workqueue.c:2292
worker_thread+0xaf5/0x12a0 kernel/workqueue.c:2439
kthread+0x29d/0x330 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
</TASK>
Modules linked in:
Dumping ftrace buffer:
(ftrace buffer empty)
CR2: 0000000000055640
---[ end trace 0000000000000000 ]---
RIP: 0010:readl arch/x86/include/asm/io.h:61 [inline]
RIP: 0010:ioread32+0x18/0x80 lib/iomap.c:99
Code: c0 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 55 53 48 89 fb e8 96 d2 68 fd 48 81 fb 00 00 04 00 72 09 e8 88 d2 68 fd <8b> 03 eb 57 48 81 fb 01 00 01 00 72 0a e8 76 d2 68 fd 89 da ed eb
RSP: 0018:ffffc90004307ae8 EFLAGS: 00010293
RAX: ffffffff84195b98 RBX: 0000000000055640 RCX: ffff8880735f3c00
RDX: 0000000000000000 RSI: ffffffff8a8c17a0 RDI: 0000000000055640
RBP: ffffc90004307bd0 R08: ffffffff90b1028f R09: 1ffffffff2162051
R10: dffffc0000000000 R11: fffffbfff2162052 R12: 0000000000055640
R13: dffffc0000000000 R14: ffff8881432f6000 R15: ffff888057b0cc28
FS: 0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000055640 CR3: 000000005c08a000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: c0 5b 5d c3 rcrb $0xc3,0x5d(%rbx)
4: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
b: 00 00 00
e: 0f 1f 40 00 nopl 0x0(%rax)
12: 55 push %rbp
13: 53 push %rbx
14: 48 89 fb mov %rdi,%rbx
17: e8 96 d2 68 fd call 0xfd68d2b2
1c: 48 81 fb 00 00 04 00 cmp $0x40000,%rbx
23: 72 09 jb 0x2e
25: e8 88 d2 68 fd call 0xfd68d2b2
* 2a: 8b 03 mov (%rbx),%eax <-- trapping instruction
2c: eb 57 jmp 0x85
2e: 48 81 fb 01 00 01 00 cmp $0x10001,%rbx
35: 72 0a jb 0x41
37: e8 76 d2 68 fd call 0xfd68d2b2
3c: 89 da mov %ebx,%edx
3e: ed in (%dx),%eax
3f: eb .byte 0xeb
* Struck through repros no longer work on HEAD.