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: 5d04h, last: 5d04h
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
0ce9b592 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ BUG: soft lockup in sys_add_key 2026/08/26 00:01 2026/08/26 00:01 2026/08/26 00:05 ee98d2fd
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-15 BUG: soft lockup in sys_add_key 1 2 829d 866d 0/2 auto-obsoleted due to no activity on 2024/08/20 02:07

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

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/24 10:04 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 21d6ac051080 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: soft lockup in sys_add_key
* Struck through repros no longer work on HEAD.