syzbot
BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
Status:
upstream: reported C repro on 2026/09/10 01:04
Bug presence:
origin:lts-only
[Documentation on labels]
Reported-by: syzbot+aab0bf2d8b72746a91fc@syzkaller.appspotmail.com
First crash: 19d, last: 2d06h
▶
▼
Bug presence (2)
| Date |
Name |
Commit |
Repro |
Result |
| 2026/09/26 |
linux-6.1.y (ToT) |
1a8763b93150 |
C
|
[report] BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
|
| 2026/09/26 |
upstream (ToT) |
fd179f8a05be |
C
|
Didn't crash |
Sample crash report:
Unable to handle kernel paging request at virtual address dfff800000000002
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 4514 Comm: syz.0.18 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/07/2026
pstate: 824000c5 (Nzcv daIF +PAN -UAO +TCO -DIT -SSBS BTYPE=--)
pc : __percpu_ref_switch_mode+0x10c/0x5d8 lib/percpu-refcount.c:276
lr : __percpu_ref_switch_mode+0xfc/0x5d8 lib/percpu-refcount.c:269
sp : ffff800021137640
x29: ffff800021137710 x28: 0000000000000000 x27: ffff800021137660
x26: dfff800000000000 x25: 0000000000000002 x24: 1fffe0001a7a9809
x23: ffff700004226ecc x22: 0000000000000001 x21: 0000000000000000
x20: ffff0000d3d4c048 x19: 0000000000000010 x18: 0000000000000000
x17: 0000000000000000 x16: ffff8000082dbd50 x15: 000000000004ffff
x14: ffff700004226ed4 x13: 1ffff00004226ed4 x12: 0000000000000004
x11: ff0080000a92df14 x10: 0000000000000000 x9 : ffff80000a92df14
x8 : ffff0000dd263800 x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff8000186a9230 x4 : 0000000000000008 x3 : ffff8000082f2980
x2 : 0000000000000001 x1 : 0000000000000001 x0 : 0000000000000000
Call trace:
__percpu_ref_switch_mode+0x10c/0x5d8 lib/percpu-refcount.c:276
percpu_ref_kill_and_confirm+0xb4/0x150 lib/percpu-refcount.c:394
percpu_ref_kill include/linux/percpu-refcount.h:149 [inline]
mddev_suspend+0x1c0/0x4e0 drivers/md/md.c:470
mddev_create_serial_pool+0x210/0x3fc drivers/md/md.c:221
backlog_store+0x2ac/0x3f0 drivers/md/md-bitmap.c:2508
md_attr_store+0x168/0x234 drivers/md/md.c:5626
sysfs_kf_write+0x1f8/0x274 fs/sysfs/file.c:140
kernfs_fop_write_iter+0x390/0x4b4 fs/kernfs/file.c:352
call_write_iter include/linux/fs.h:2271 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x3c8/0x7c8 fs/read_write.c:584
ksys_write+0x12c/0x228 fs/read_write.c:637
__do_sys_write fs/read_write.c:649 [inline]
__se_sys_write fs/read_write.c:646 [inline]
__arm64_sys_write+0x7c/0x90 fs/read_write.c:646
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
Code: 14000002 976e138a 91004393 d343fe79 (387a6b28)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: 14000002 b 0x8
4: 976e138a bl 0xfffffffffdb84e2c
8: 91004393 add x19, x28, #0x10
c: d343fe79 lsr x25, x19, #3
* 10: 387a6b28 ldrb w8, [x25, x26] <-- trapping instruction
* Struck through repros no longer work on HEAD.