UBSAN: array-index-out-of-bounds in __pm_runtime_resume

Status: premoderation: reported C repro on 2026/08/24 16:19
Reported-by: syzbot+069a4d947d52bc103c11@syzkaller.appspotmail.com
First crash: 6d01h, last: 4d08h
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: null-ptr-deref Write in __pm_runtime_resume pm 12 syz, C done 108 1650d 1828d 20/29 fixed on 2022/03/08 16:11
linux-6.6 KASAN: slab-use-after-free Read in __pm_runtime_resume origin:lts-only 19 syz error 4 141d 143d 0/2 upstream: reported syz repro on 2026/04/09 06:50
linux-6.1 KASAN: use-after-free Read in __pm_runtime_resume origin:lts-only 19 syz, C error 12 141d 145d 0/3 upstream: reported C repro on 2026/04/07 03:09
upstream general protection fault in __pm_runtime_resume (2) pm 2 syz, C error 7 1622d 1631d 22/29 fixed on 2023/02/24 13:50
upstream BUG: unable to handle kernel paging request in __pm_runtime_resume pm 8 1 2536d 2535d 0/29 closed as dup on 2019/09/20 20:20

Sample crash report:
------------[ cut here ]------------
UBSAN: array-index-out-of-bounds in kernel/locking/qspinlock.c:131:9
index 16382 is out of range for type 'unsigned long[8]'
CPU: 0 UID: 0 PID: 387 Comm: syz.2.18 Not tainted syzkaller #0 9a2c17613351c9eac8e18d74829f474689ac6bc1
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 __dump_stack+0x21/0x30 lib/dump_stack.c:94
 dump_stack_lvl+0x140/0x1c0 lib/dump_stack.c:120
 dump_stack+0x19/0x20 lib/dump_stack.c:129
 ubsan_epilogue+0xe/0x40 lib/ubsan.c:231
 __ubsan_handle_out_of_bounds+0xe8/0xf0 lib/ubsan.c:429
 decode_tail kernel/locking/qspinlock.c:131 [inline]
 __pv_queued_spin_lock_slowpath+0xbf7/0xe90 kernel/locking/qspinlock.c:468
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:584 [inline]
 queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:114 [inline]
 do_raw_spin_lock include/linux/spinlock.h:187 [inline]
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:111 [inline]
 _raw_spin_lock_irqsave+0x153/0x160 kernel/locking/spinlock.c:162
 __pm_runtime_resume+0x60/0xa0 drivers/base/power/runtime.c:1179
 pm_runtime_resume_and_get include/linux/pm_runtime.h:436 [inline]
 usb_autopm_get_interface+0x25/0xf0 drivers/usb/core/driver.c:1888
 usbhid_power+0x84/0xd0 drivers/hid/usbhid/hid-core.c:1284
 hid_hw_power include/linux/hid.h:1174 [inline]
 hidraw_open+0x257/0x960 drivers/hid/hidraw.c:302
 chrdev_open+0x4e8/0x610 fs/char_dev.c:414
 do_dentry_open+0x97f/0x1510 fs/open.c:960
 vfs_open+0x86/0x240 fs/open.c:1092
 do_open fs/namei.c:3782 [inline]
 path_openat+0x2c49/0x35a0 fs/namei.c:3941
 do_filp_open+0x1f2/0x440 fs/namei.c:3968
 do_sys_openat2+0x134/0x1d0 fs/open.c:1440
 do_sys_open fs/open.c:1455 [inline]
 __do_sys_openat fs/open.c:1471 [inline]
 __se_sys_openat fs/open.c:1466 [inline]
 __x64_sys_openat+0x13a/0x170 fs/open.c:1466
 x64_sys_call+0xe69/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:258
 do_syscall_x64 arch/x86/entry/common.c:47 [inline]
 do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f2995759257
Code: 48 89 fa 4c 89 df e8 a8 56 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
RSP: 002b:00007ffc1499d1e0 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00005555562ff500 RCX: 00007f2995759257
RDX: 000000000014e000 RSI: 00007ffc1499d2a0 RDI: ffffffffffffff9c
RBP: 00007ffc1499d2a0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: cccccccccccccccd
R13: 00007f2995a25fac R14: 00007f2995a25fa0 R15: 00007f2995a25fa0
 </TASK>
---[ end trace ]---
Oops: general protection fault, probably for non-canonical address 0xff46149abf46b9e9: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: maybe wild-memory-access in range [0xfa30c4d5fa35cf48-0xfa30c4d5fa35cf4f]
CPU: 0 UID: 0 PID: 387 Comm: syz.2.18 Not tainted syzkaller #0 9a2c17613351c9eac8e18d74829f474689ac6bc1
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:__pv_queued_spin_lock_slowpath+0x38c/0xe90 kernel/locking/qspinlock.c:471
Code: fc ff df 80 3c 10 00 74 17 48 89 df e8 1d 6e 39 fc 48 8b 7c 24 10 48 ba 00 00 00 00 00 fc ff df 4c 03 3b 4c 89 f8 48 c1 e8 03 <80> 3c 10 00 74 17 4c 89 ff e8 16 6f 39 fc 48 8b 7c 24 10 48 ba 00
RSP: 0018:ffffc900010ef4c0 EFLAGS: 00010802
RAX: 1f46189abf46b9e9 RBX: ffffffff8721cb70 RCX: ffff888116881300
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffffffff87d52ac4
RBP: ffffc900010ef5d0 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffffbfff1176e80 R12: 1ffff1103edca161
R13: 1ffffffff0faa558 R14: ffff8881f6e50b00 R15: fa30c4d5fa35cf49
FS:  00005555562ff500(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000002300 CR3: 0000000116802000 CR4: 00000000003526b0
Call Trace:
 <TASK>
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:584 [inline]
 queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:114 [inline]
 do_raw_spin_lock include/linux/spinlock.h:187 [inline]
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:111 [inline]
 _raw_spin_lock_irqsave+0x153/0x160 kernel/locking/spinlock.c:162
 __pm_runtime_resume+0x60/0xa0 drivers/base/power/runtime.c:1179
 pm_runtime_resume_and_get include/linux/pm_runtime.h:436 [inline]
 usb_autopm_get_interface+0x25/0xf0 drivers/usb/core/driver.c:1888
 usbhid_power+0x84/0xd0 drivers/hid/usbhid/hid-core.c:1284
 hid_hw_power include/linux/hid.h:1174 [inline]
 hidraw_open+0x257/0x960 drivers/hid/hidraw.c:302
 chrdev_open+0x4e8/0x610 fs/char_dev.c:414
 do_dentry_open+0x97f/0x1510 fs/open.c:960
 vfs_open+0x86/0x240 fs/open.c:1092
 do_open fs/namei.c:3782 [inline]
 path_openat+0x2c49/0x35a0 fs/namei.c:3941
 do_filp_open+0x1f2/0x440 fs/namei.c:3968
 do_sys_openat2+0x134/0x1d0 fs/open.c:1440
 do_sys_open fs/open.c:1455 [inline]
 __do_sys_openat fs/open.c:1471 [inline]
 __se_sys_openat fs/open.c:1466 [inline]
 __x64_sys_openat+0x13a/0x170 fs/open.c:1466
 x64_sys_call+0xe69/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:258
 do_syscall_x64 arch/x86/entry/common.c:47 [inline]
 do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f2995759257
Code: 48 89 fa 4c 89 df e8 a8 56 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
RSP: 002b:00007ffc1499d1e0 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00005555562ff500 RCX: 00007f2995759257
RDX: 000000000014e000 RSI: 00007ffc1499d2a0 RDI: ffffffffffffff9c
RBP: 00007ffc1499d2a0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: cccccccccccccccd
R13: 00007f2995a25fac R14: 00007f2995a25fa0 R15: 00007f2995a25fa0
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__pv_queued_spin_lock_slowpath+0x38c/0xe90 kernel/locking/qspinlock.c:471
Code: fc ff df 80 3c 10 00 74 17 48 89 df e8 1d 6e 39 fc 48 8b 7c 24 10 48 ba 00 00 00 00 00 fc ff df 4c 03 3b 4c 89 f8 48 c1 e8 03 <80> 3c 10 00 74 17 4c 89 ff e8 16 6f 39 fc 48 8b 7c 24 10 48 ba 00
RSP: 0018:ffffc900010ef4c0 EFLAGS: 00010802
RAX: 1f46189abf46b9e9 RBX: ffffffff8721cb70 RCX: ffff888116881300
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffffffff87d52ac4
RBP: ffffc900010ef5d0 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffffbfff1176e80 R12: 1ffff1103edca161
R13: 1ffffffff0faa558 R14: ffff8881f6e50b00 R15: fa30c4d5fa35cf49
FS:  00005555562ff500(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000002300 CR3: 0000000116802000 CR4: 00000000003526b0
----------------
Code disassembly (best guess), 3 bytes skipped:
   0:	80 3c 10 00          	cmpb   $0x0,(%rax,%rdx,1)
   4:	74 17                	je     0x1d
   6:	48 89 df             	mov    %rbx,%rdi
   9:	e8 1d 6e 39 fc       	call   0xfc396e2b
   e:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
  13:	48 ba 00 00 00 00 00 	movabs $0xdffffc0000000000,%rdx
  1a:	fc ff df
  1d:	4c 03 3b             	add    (%rbx),%r15
  20:	4c 89 f8             	mov    %r15,%rax
  23:	48 c1 e8 03          	shr    $0x3,%rax
* 27:	80 3c 10 00          	cmpb   $0x0,(%rax,%rdx,1) <-- trapping instruction
  2b:	74 17                	je     0x44
  2d:	4c 89 ff             	mov    %r15,%rdi
  30:	e8 16 6f 39 fc       	call   0xfc396f4b
  35:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
  3a:	48                   	rex.W
  3b:	ba                   	.byte 0xba

Crashes (16):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/24 16:18 android16-6.12 e8c85685a629 b55bd4c3 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust UBSAN: array-index-out-of-bounds in __pm_runtime_resume
2026/08/26 08:45 android16-6.12 b6d34a1fb26b 6a91adb4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust UBSAN: array-index-out-of-bounds in __pm_runtime_resume
2026/08/25 06:53 android16-6.12 7f32621dc7d3 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust UBSAN: array-index-out-of-bounds in __pm_runtime_resume
2026/08/24 19:33 android16-6.12 7f32621dc7d3 b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust UBSAN: array-index-out-of-bounds in __pm_runtime_resume
2026/08/26 08:11 android16-6.12 b6d34a1fb26b 6a91adb4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
2026/08/26 07:02 android16-6.12 b6d34a1fb26b 6a91adb4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust BUG: unable to handle kernel paging request in __pm_runtime_resume
2026/08/26 06:20 android16-6.12 b6d34a1fb26b 6a91adb4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
2026/08/26 03:55 android16-6.12 b6d34a1fb26b 6a91adb4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
2026/08/25 23:38 android16-6.12 e8191d250396 a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
2026/08/25 22:07 android16-6.12 e8191d250396 a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
2026/08/25 16:37 android16-6.12 e8191d250396 a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust BUG: unable to handle kernel paging request in __pm_runtime_resume
2026/08/25 11:10 android16-6.12 7f32621dc7d3 614e416a .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: user-memory-access Write in __pm_runtime_resume
2026/08/24 20:18 android16-6.12 7f32621dc7d3 b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust BUG: unable to handle kernel paging request in __pm_runtime_resume
2026/08/24 19:04 android16-6.12 7f32621dc7d3 b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
2026/08/24 18:13 android16-6.12 7f32621dc7d3 b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: wild-memory-access Write in __pm_runtime_resume
2026/08/24 18:13 android16-6.12 7f32621dc7d3 b55bd4c3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in __pm_runtime_resume
* Struck through repros no longer work on HEAD.