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

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/10 09:17 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
2026/09/10 08:00 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
2026/09/10 06:45 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
2026/09/10 05:12 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
2026/09/10 04:53 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
2026/09/10 03:31 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
2026/09/10 01:03 linux-6.1.y cf82dcca9634 4e8b1cc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in __percpu_ref_switch_mode
* Struck through repros no longer work on HEAD.