CVE-2025-21684

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-21684
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21684.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-21684
Downstream
Related
Published
2025-02-09T11:37:24.610Z
Modified
2025-11-28T02:34:17.850851Z
Summary
gpio: xilinx: Convert gpio_lock to raw spinlock
Details

In the Linux kernel, the following vulnerability has been resolved:

gpio: xilinx: Convert gpio_lock to raw spinlock

irq_chip functions may be called in raw spinlock context. Therefore, we must also use a raw spinlock for our own internal locking.

This fixes the following lockdep splat:

[ 5.349336] ============================= [ 5.353349] [ BUG: Invalid wait context ] [ 5.357361] 6.13.0-rc5+ #69 Tainted: G W [ 5.363031] ----------------------------- [ 5.367045] kworker/u17:1/44 is trying to lock: [ 5.371587] ffffff88018b02c0 (&chip->gpiolock){....}-{3:3}, at: xgpioirqunmask (drivers/gpio/gpio-xilinx.c:433 (discriminator 8)) [ 5.380079] other info that might help us debug this: [ 5.385138] context-{5:5} [ 5.387762] 5 locks held by kworker/u17:1/44: [ 5.392123] #0: ffffff8800014958 ((wqcompletion)eventsunbound){+.+.}-{0:0}, at: processonework (kernel/workqueue.c:3204) [ 5.402260] #1: ffffffc082fcbdd8 (deferredprobework){+.+.}-{0:0}, at: processonework (kernel/workqueue.c:3205) [ 5.411528] #2: ffffff880172c900 (&dev->mutex){....}-{4:4}, at: _deviceattach (drivers/base/dd.c:1006) [ 5.419929] #3: ffffff88039c8268 (requestclass#2){+.+.}-{4:4}, at: _setupirq (kernel/irq/internals.h:156 kernel/irq/manage.c:1596) [ 5.428331] #4: ffffff88039c80c8 (lockclass#2){....}-{2:2}, at: _setupirq (kernel/irq/manage.c:1614) [ 5.436472] stack backtrace: [ 5.439359] CPU: 2 UID: 0 PID: 44 Comm: kworker/u17:1 Tainted: G W 6.13.0-rc5+ #69 [ 5.448690] Tainted: [W]=WARN [ 5.451656] Hardware name: xlnx,zynqmp (DT) [ 5.455845] Workqueue: eventsunbound deferredprobeworkfunc [ 5.461699] Call trace: [ 5.464147] showstack+0x18/0x24 C [ 5.467821] dumpstacklvl (lib/dumpstack.c:123) [ 5.471501] dumpstack (lib/dumpstack.c:130) [ 5.474824] _lockacquire (kernel/locking/lockdep.c:4828 kernel/locking/lockdep.c:4898 kernel/locking/lockdep.c:5176) [ 5.478758] lockacquire (arch/arm64/include/asm/percpu.h:40 kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5851 kernel/locking/lockdep.c:5814) [ 5.482429] rawspinlockirqsave (include/linux/spinlockapismp.h:111 kernel/locking/spinlock.c:162) [ 5.486797] xgpioirqunmask (drivers/gpio/gpio-xilinx.c:433 (discriminator 8)) [ 5.490737] irqenable (kernel/irq/internals.h:236 kernel/irq/chip.c:170 kernel/irq/chip.c:439 kernel/irq/chip.c:432 kernel/irq/chip.c:345) [ 5.494060] _irqstartup (kernel/irq/internals.h:241 kernel/irq/chip.c:180 kernel/irq/chip.c:250) [ 5.497645] irqstartup (kernel/irq/chip.c:270) [ 5.501143] _setupirq (kernel/irq/manage.c:1807) [ 5.504728] requestthreadedirq (kernel/irq/manage.c:2208)

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21684.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a32c7caea292c4d1e417eae6e5a348d187546acf
Fixed
d25041d4a3b2af64c888cf762362b2528ba59294
Fixed
f0ed2d0abc021f56fa27dc6d0770535c1851a43b
Fixed
b0111650ee596219bb5defa0ce1a1308e6e77ccf
Fixed
9c035105c5537d2ecad6b9415e9417a1ffbd0a62
Fixed
9860370c2172704b6b4f0075a0c2a29fd84af96a

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.12.0
Fixed
5.15.179
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.129
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.74
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.11