syzbot


BUG: unable to handle kernel NULL pointer dereference in io_buffer_select

Status: upstream: reported C repro on 2025/05/11 00:19
Subsystems: io-uring
[Documentation on labels]
Reported-by: syzbot+6456a99dfdc2e78c4feb@syzkaller.appspotmail.com
Fix commit: f446c6311e86 io_uring/memmap: don't use page_address() on a highmem page
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu-native-arm64-kvm]
First crash: 49d, last: 39d
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] io_uring/memmap: don't use page_address() on a highmem page 1 (1) 2025/05/12 15:28
[syzbot] [io-uring?] BUG: unable to handle kernel NULL pointer dereference in io_buffer_select 6 (8) 2025/05/12 15:24
Last patch testing requests (1)
Created Duration User Patch Repo Result
2025/05/12 14:57 25m axboe@kernel.dk git://git.kernel.dk/linux.git syztest OK log

Sample crash report:
Unable to handle kernel NULL pointer dereference at virtual address 0000000e when read
[0000000e] *pgd=84797003, *pmd=df777003
Internal error: Oops: 205 [#1] SMP ARM
Modules linked in:
CPU: 1 UID: 0 PID: 3105 Comm: syz-executor192 Not tainted 6.15.0-rc5-syzkaller #0 PREEMPT 
Hardware name: ARM-Versatile Express
PC is at io_ring_buffer_select io_uring/kbuf.c:163 [inline]
PC is at io_buffer_select+0x50/0x18c io_uring/kbuf.c:207
LR is at rcu_read_unlock include/linux/rcupdate.h:873 [inline]
LR is at xa_load+0x68/0xa4 lib/xarray.c:1621
pc : [<80889a10>]    lr : [<81a4be54>]    psr: 20000013
sp : df985e18  ip : df985dd8  fp : df985e34
r10: 837a6c80  r9 : 00000000  r8 : 80000001
r7 : df985e50  r6 : 00000000  r5 : 841f2900  r4 : 84799000
r3 : 00000001  r2 : 00000000  r1 : 846eb500  r0 : 00000000
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 30c5387d  Table: 84731880  DAC: 00000000
Register r0 information: NULL pointer
Register r1 information: slab kmalloc-64 start 846eb500 pointer offset 0 size 64
Register r2 information: NULL pointer
Register r3 information: non-paged memory
Register r4 information: slab io_kiocb start 84799000 pointer offset 0 size 192
Register r5 information: slab kmalloc-2k start 841f2800 pointer offset 256 size 2048
Register r6 information: NULL pointer
Register r7 information: 2-page vmalloc region starting at 0xdf984000 allocated at kernel_clone+0xac/0x3e4 kernel/fork.c:2844
Register r8 information: non-slab/vmalloc memory
Register r9 information: NULL pointer
Register r10 information: slab sock_inode_cache start 837a6c80 pointer offset 0 size 576
Register r11 information: 2-page vmalloc region starting at 0xdf984000 allocated at kernel_clone+0xac/0x3e4 kernel/fork.c:2844
Register r12 information: 2-page vmalloc region starting at 0xdf984000 allocated at kernel_clone+0xac/0x3e4 kernel/fork.c:2844
Process syz-executor192 (pid: 3105, stack limit = 0xdf984000)
Stack: (0xdf985e18 to 0xdf986000)
5e00:                                                       84799000 8466a500
5e20: 00000000 00000040 df985e84 df985e38 80892d3c 808899cc 8057abbc 8030cb0c
5e40: 84799000 00000001 01799000 00000000 00000000 c8c55b45 80886a40 84799000
5e60: 81cf0bd4 00000000 80000001 81cf0b5c 0000000a 8402bc00 df985ebc df985e88
5e80: 80886df4 80892b18 00000000 00000000 00000000 841f2800 8479906c 84799000
5ea0: 848c0000 00000000 00000000 8402bc00 df985f14 df985ec0 808877a8 80886b7c
5ec0: 8088e164 81a4bdf8 8479adb8 84731888 00000001 00000001 81cf0b5c 00000001
5ee0: 841f2800 c8c55b45 84786240 00000000 841f2800 000027e2 84786240 00000000
5f00: 8402bc00 00000000 df985fa4 df985f18 80888250 808875a8 df985f74 841f2840
5f20: 00000000 00000000 df985fac df985f38 8022b8b8 8046ec28 df985f64 df985f48
5f40: 8057a6bc 84460c00 00000000 8281d1f0 00000a0f 76f4a000 df985fb0 80234108
5f60: 00000000 000f4240 df985fac df985f78 8023478c c8c55b45 000000c0 00000000
5f80: 00000000 0008e068 000001aa 8020029c 8402bc00 000001aa 00000000 df985fa8
5fa0: 80200060 80888124 00000000 00000000 00000003 000027e2 00000000 00000000
5fc0: 00000000 00000000 0008e068 000001aa 00000001 00000000 000f4240 00000000
5fe0: 7ef9ac70 7ef9ac60 0001088c 0002f900 40000010 00000003 00000000 00000000
Call trace: 
[<808899c0>] (io_buffer_select) from [<80892d3c>] (io_recvmsg+0x230/0x420 io_uring/net.c:988)
 r7:00000040 r6:00000000 r5:8466a500 r4:84799000
[<80892b0c>] (io_recvmsg) from [<80886df4>] (__io_issue_sqe io_uring/io_uring.c:1740 [inline])
[<80892b0c>] (io_recvmsg) from [<80886df4>] (io_issue_sqe+0x284/0x658 io_uring/io_uring.c:1759)
 r10:8402bc00 r9:0000000a r8:81cf0b5c r7:80000001 r6:00000000 r5:81cf0bd4
 r4:84799000
[<80886b70>] (io_issue_sqe) from [<808877a8>] (io_queue_sqe io_uring/io_uring.c:1975 [inline])
[<80886b70>] (io_issue_sqe) from [<808877a8>] (io_submit_sqe io_uring/io_uring.c:2231 [inline])
[<80886b70>] (io_issue_sqe) from [<808877a8>] (io_submit_sqes+0x20c/0x938 io_uring/io_uring.c:2348)
 r10:8402bc00 r9:00000000 r8:00000000 r7:848c0000 r6:84799000 r5:8479906c
 r4:841f2800
[<8088759c>] (io_submit_sqes) from [<80888250>] (__do_sys_io_uring_enter io_uring/io_uring.c:3408 [inline])
[<8088759c>] (io_submit_sqes) from [<80888250>] (sys_io_uring_enter+0x138/0x780 io_uring/io_uring.c:3342)
 r10:00000000 r9:8402bc00 r8:00000000 r7:84786240 r6:000027e2 r5:841f2800
 r4:00000000
[<80888118>] (sys_io_uring_enter) from [<80200060>] (ret_fast_syscall+0x0/0x1c arch/arm/mm/proc-v7.S:67)
Exception stack(0xdf985fa8 to 0xdf985ff0)
5fa0:                   00000000 00000000 00000003 000027e2 00000000 00000000
5fc0: 00000000 00000000 0008e068 000001aa 00000001 00000000 000f4240 00000000
5fe0: 7ef9ac70 7ef9ac60 0001088c 0002f900
 r10:000001aa r9:8402bc00 r8:8020029c r7:000001aa r6:0008e068 r5:00000000
 r4:00000000
Code: e3130001 0a00002f e5910000 e1d120be (e1d030be) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	e3130001 	tst	r3, #1
   4:	0a00002f 	beq	0xc8
   8:	e5910000 	ldr	r0, [r1]
   c:	e1d120be 	ldrh	r2, [r1, #14]
* 10:	e1d030be 	ldrh	r3, [r0, #14] <-- trapping instruction

Crashes (102):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/07 14:55 upstream 0d8d44db295c 350f4ffc .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 13:21 upstream 0d8d44db295c 350f4ffc .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/17 02:00 upstream 3c21441eeffc f41472b0 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/17 00:32 upstream 3c21441eeffc f41472b0 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/16 04:05 upstream 088d13246a46 cfde8269 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/15 11:33 upstream c94d59a126cb d6b2ee52 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/15 07:03 upstream c94d59a126cb d6b2ee52 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/14 21:46 upstream 9f35e33144ae a4fa04ef .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/14 19:27 upstream 9f35e33144ae a4fa04ef .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/14 03:47 upstream 405e6c37c89e 7344edeb .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/13 18:32 upstream e9565e23cd89 9497799b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/13 17:51 upstream e9565e23cd89 9497799b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/13 14:09 upstream e9565e23cd89 9497799b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/13 01:05 upstream 627277ba7c23 f6671af7 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/12 02:34 upstream cd802e7e5f1e 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/11 14:49 upstream 3ce9925823c7 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/11 14:48 upstream 3ce9925823c7 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/11 11:02 upstream 3ce9925823c7 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/11 06:26 upstream 3ce9925823c7 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/10 09:48 upstream 0e1329d4045c 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/10 04:47 upstream 0e1329d4045c 77908e5f .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/09 15:45 upstream 9c69f8884904 43803998 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/09 07:23 upstream 2c89c1b655c0 bb813bcc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/09 07:22 upstream 2c89c1b655c0 bb813bcc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/09 07:21 upstream 2c89c1b655c0 bb813bcc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/09 02:28 upstream 2c89c1b655c0 bb813bcc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/09 02:27 upstream 2c89c1b655c0 bb813bcc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/08 04:44 upstream 707df3375124 dbf35fa1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/08 04:43 upstream 707df3375124 dbf35fa1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 22:59 upstream 707df3375124 dbf35fa1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 22:59 upstream 707df3375124 dbf35fa1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 03:54 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 03:53 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 03:46 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 03:46 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 03:12 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 03:12 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:50 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:50 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:47 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:47 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:43 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:42 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
2025/05/07 02:37 upstream 01f95500a162 350f4ffc .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm32 BUG: unable to handle kernel NULL pointer dereference in io_buffer_select
* Struck through repros no longer work on HEAD.