CVE-2025-21684

Source
https://cve.org/CVERecord?id=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
2026-03-20T12:40:41.863868Z
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: processone_work (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/dump_stack.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] irq_enable (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
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21684.json",
    "cna_assigner": "Linux"
}
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

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21684.json"