syzbot
BUG: soft lockup in sys_add_key
Status:
moderation: reported on 2026/08/28 10:13
Subsystems:
keyrings
lsm
Labels:
prio:low
[Documentation on labels]
Reported-by: syzbot+3c4fd49def67465161cb@syzkaller.appspotmail.com
First crash: 5d00h, last: 5d00h
Sample crash report:
watchdog: BUG: soft lockup - CPU#0 stuck for 25s! [syz.8.1195:9657]
Modules linked in:
irq event stamp: 2890
hardirqs last enabled at (2889): [<ffff80008217ca50>] crng_make_state+0x28c/0x5ac drivers/char/random.c:383
hardirqs last disabled at (2890): [<ffff800086930648>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:130 [inline]
hardirqs last disabled at (2890): [<ffff800086930648>] _raw_spin_lock_irqsave+0x2c/0x7c kernel/locking/spinlock.c:166
softirqs last enabled at (2870): [<ffff80008013b050>] local_bh_enable include/linux/bottom_half.h:33 [inline]
softirqs last enabled at (2870): [<ffff80008013b050>] put_cpu_fpsimd_context arch/arm64/kernel/fpsimd.c:251 [inline]
softirqs last enabled at (2870): [<ffff80008013b050>] fpsimd_restore_current_state+0x39c/0x9c8 arch/arm64/kernel/fpsimd.c:1797
softirqs last disabled at (2868): [<ffff80008013acf8>] local_bh_disable include/linux/bottom_half.h:20 [inline]
softirqs last disabled at (2868): [<ffff80008013acf8>] get_cpu_fpsimd_context arch/arm64/kernel/fpsimd.c:234 [inline]
softirqs last disabled at (2868): [<ffff80008013acf8>] fpsimd_restore_current_state+0x44/0x9c8 arch/arm64/kernel/fpsimd.c:1790
CPU: 0 UID: 16777215 PID: 9657 Comm: syz.8.1195 Tainted: G L syzkaller #0 PREEMPT
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/07/2026
pstate: 23400005 (nzCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
pc : __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:179 [inline]
pc : _raw_spin_unlock_irqrestore+0x44/0x98 kernel/locking/spinlock.c:198
lr : __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:178 [inline]
lr : _raw_spin_unlock_irqrestore+0x38/0x98 kernel/locking/spinlock.c:198
sp : ffff8000949d78e0
x29: ffff8000949d78e0 x28: 1fffe000186a1134 x27: dfff800000000000
x26: 0000000000000022 x25: ffff0000d57c6cf4 x24: 0000000000000000
x23: ffff0000c3508978 x22: 0000000000000048 x21: ffff0000c35089a4
x20: ffff0000d57c6ca0 x19: 0000000000000000 x18: 000000009f93b752
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000001 x12: 0000000000000000
x11: ffff800080156070 x10: 0000000000080000 x9 : 0000000000000000
x8 : 00000000000000c0 x7 : 0000000000000000 x6 : ffff80008048c5b8
x5 : 0000000000000000 x4 : 0000000000000008 x3 : ffff800080156118
x2 : 0000000000000000 x1 : ffff0000e7c2d7c0 x0 : ffff800086930818
dump_backtrace(regs = 000000005ac1ab86 tsk = 0000000000000000)
Call trace:
__daif_local_irq_restore arch/arm64/include/asm/irqflags.h:175 [inline] (P)
arch_local_irq_restore arch/arm64/include/asm/irqflags.h:195 [inline] (P)
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:178 [inline] (P)
_raw_spin_unlock_irqrestore+0x44/0x98 kernel/locking/spinlock.c:198 (P)
spin_unlock_irqrestore include/linux/spinlock.h:408 [inline]
key_payload_reserve+0x200/0x318 security/keys/key.c:398
generic_key_instantiate+0x54/0x17c security/keys/key.c:1200
__key_instantiate_and_link+0x110/0x450 security/keys/key.c:446
__key_create_or_update+0x6b8/0x848 security/keys/key.c:941
key_create_or_update+0x60/0x7c security/keys/key.c:1021
__do_sys_add_key security/keys/keyctl.c:134 [inline]
__se_sys_add_key security/keys/keyctl.c:74 [inline]
__arm64_sys_add_key+0x384/0x43c security/keys/keyctl.c:74
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49
el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121
do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140
el0_svc+0x64/0x260 arch/arm64/kernel/entry-common.c:758
el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777
el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 UID: 0 PID: 7002 Comm: kworker/u8:45 Tainted: G L syzkaller #0 PREEMPT
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/07/2026
Workqueue: events_unbound toggle_allocation_gate
pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
pc : csd_lock_wait kernel/smp.c:342 [inline]
pc : smp_call_function_many_cond+0x114c/0x17c0 kernel/smp.c:912
lr : csd_lock_wait kernel/smp.c:342 [inline]
lr : smp_call_function_many_cond+0x1164/0x17c0 kernel/smp.c:912
sp : ffff800095f377a0
x29: ffff800095f378d0 x28: 0000000000000011 x27: 0000000000000000
x26: ffff0001a5df5980 x25: ffff800088b3b6a0 x24: ffffffffffffffff
x23: dfff800000000000 x22: 1fffe00034bbeb30 x21: 1fffe00034bbeb31
x20: ffff0001a5df5988 x19: fffffdffbf64b6c8 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000001 x13: 0000000000000001 x12: 0000000000000000
x11: 0000000000000000 x10: ffff7fbff7ec96da x9 : 0000000000000000
x8 : 0000000000000011 x7 : 0000000000000000 x6 : ffff800080169c74
x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff8000805b6cd0
x2 : 0000000000000000 x1 : ffff0000d08f57c0 x0 : 0000000000000000
dump_backtrace(regs = 00000000d600a70c tsk = 0000000000000000)
Call trace:
__cmpwait_case_32 arch/arm64/include/asm/cmpxchg.h:233 [inline] (P)
__cmpwait arch/arm64/include/asm/cmpxchg.h:259 [inline] (P)
csd_lock_wait kernel/smp.c:342 [inline] (P)
smp_call_function_many_cond+0x114c/0x17c0 kernel/smp.c:912 (P)
smp_call_function_many kernel/smp.c:935 [inline]
smp_call_function+0x58/0xbc kernel/smp.c:955
kick_all_cpus_sync+0x28/0x34 kernel/smp.c:1101
arch_jump_label_transform_apply+0x14/0x20 arch/arm64/kernel/jump_label.c:34
__jump_label_update+0x31c/0x344 kernel/jump_label.c:521
jump_label_update+0x428/0x4b8 kernel/jump_label.c:910
static_key_enable_cpuslocked+0x11c/0x220 kernel/jump_label.c:210
static_key_enable+0x24/0x38 kernel/jump_label.c:223
toggle_allocation_gate+0xb8/0x28c mm/kfence/core.c:911
process_one_work kernel/workqueue.c:3322 [inline]
process_scheduled_works+0x788/0x10b8 kernel/workqueue.c:3405
worker_thread+0x798/0xbd0 kernel/workqueue.c:3486
kthread+0x304/0x3d4 kernel/kthread.c:436
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:838
bridge2: hello timer expired
wireguard: wg0: Sending keepalive packet to peer 50 ([::1]:20003/0%0)
wireguard: wg2: Handshake for peer 29 ([::1]:20001/0%0) did not complete after 5 seconds, retrying (try 9)
wireguard: wg0: Sending keepalive packet to peer 38 ([::1]:20003/0%0)
IPVS: wrr: UDP 224.0.0.2:0 - no destination available
wireguard: wg0: Sending keepalive packet to peer 20 ([::1]:20003/0%0)
wireguard: wg1: Sending keepalive packet to peer 40 (127.0.0.1:20003)
wireguard: wg0: Sending keepalive packet to peer 56 ([::1]:20003/0%0)
wireguard: : Sending keepalive packet to peer 44 ([::1]:20003/0%0)
geneve2: no route to 0000:0000:0000:0005:0000:0000:0000:0001
wireguard: wg1: Handshake for peer 22 (127.0.0.1:20003) did not complete after 5 seconds, retrying (try 3)
wireguard: wg2: Retrying handshake with peer 48 (127.0.0.1:20002) because we stopped hearing back after 15 seconds
Dropped {multi|broad}cast of type=[86dd]
wireguard: wg1: Retrying handshake with peer 40 (127.0.0.1:20003) because we stopped hearing back after 15 seconds
geneve1: no route to fc00:0000:0000:0000:0000:0000:0000:0001
wireguard: : Retrying handshake with peer 44 ([::1]:20003/0%0) because we stopped hearing back after 15 seconds
wireguard: wg0: Retrying handshake with peer 50 ([::1]:20003/0%0) because we stopped hearing back after 15 seconds
bridge0: port 2(bridge_slave_1) forward delay timer
bridge0: port 2(bridge_slave_1) event 16
bridge0: br_fill_ifinfo event 16 port bridge_slave_1 master bridge0
bridge0: port 1(bridge_slave_0) forward delay timer
bridge0: port 1(bridge_slave_0) event 16
bridge0: br_fill_ifinfo event 16 port bridge_slave_0 master bridge0
wireguard: wg2: Retrying handshake with peer 54 (127.0.0.1:20002) because we stopped hearing back after 15 seconds
wireguard: wg0: Retrying handshake with peer 56 ([::1]:20003/0%0) because we stopped hearing back after 15 seconds
geneve1: no route to fc00:0000:0000:0000:0000:0000:0000:0001
percpu_ref_switch_to_atomic_rcu: global 9223372036854775809 percpu 0
percpu_ref_switch_to_atomic_rcu: global 9223372036854775801 percpu 8
bridge2: hello timer expired
* Struck through repros no longer work on HEAD.