CVE-2024-35990

Source
https://cve.org/CVERecord?id=CVE-2024-35990
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-35990.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-35990
Downstream
Related
Published
2024-05-20T09:47:55.736Z
Modified
2026-05-28T03:55:42.170715705Z
Summary
dma: xilinx_dpdma: Fix locking
Details

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

dma: xilinx_dpdma: Fix locking

There are several places where either chan->lock or chan->vchan.lock was not held. Add appropriate locking. This fixes lockdep warnings like

[ 31.077578] ------------[ cut here ]------------ [ 31.077831] WARNING: CPU: 2 PID: 40 at drivers/dma/xilinx/xilinxdpdma.c:834 xilinxdpdmachanqueuetransfer+0x274/0x5e0 [ 31.077953] Modules linked in: [ 31.078019] CPU: 2 PID: 40 Comm: kworker/u12:1 Not tainted 6.6.20+ #98 [ 31.078102] Hardware name: xlnx,zynqmp (DT) [ 31.078169] Workqueue: eventsunbound deferredprobeworkfunc [ 31.078272] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 31.078377] pc : xilinxdpdmachanqueuetransfer+0x274/0x5e0 [ 31.078473] lr : xilinxdpdmachanqueuetransfer+0x270/0x5e0 [ 31.078550] sp : ffffffc083bb2e10 [ 31.078590] x29: ffffffc083bb2e10 x28: 0000000000000000 x27: ffffff880165a168 [ 31.078754] x26: ffffff880164e920 x25: ffffff880164eab8 x24: ffffff880164d480 [ 31.078920] x23: ffffff880165a148 x22: ffffff880164e988 x21: 0000000000000000 [ 31.079132] x20: ffffffc082aa3000 x19: ffffff880164e880 x18: 0000000000000000 [ 31.079295] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 31.079453] x14: 0000000000000000 x13: ffffff8802263dc0 x12: 0000000000000001 [ 31.079613] x11: 0001ffc083bb2e34 x10: 0001ff880164e98f x9 : 0001ffc082aa3def [ 31.079824] x8 : 0001ffc082aa3dec x7 : 0000000000000000 x6 : 0000000000000516 [ 31.079982] x5 : ffffffc7f8d43000 x4 : ffffff88003c9c40 x3 : ffffffffffffffff [ 31.080147] x2 : ffffffc7f8d43000 x1 : 00000000000000c0 x0 : 0000000000000000 [ 31.080307] Call trace: [ 31.080340] xilinxdpdmachanqueuetransfer+0x274/0x5e0 [ 31.080518] xilinxdpdmaissuepending+0x11c/0x120 [ 31.080595] zynqmpdisplayerupdate+0x180/0x3ac [ 31.080712] zynqmpdpsubplaneatomicupdate+0x11c/0x21c [ 31.080825] drmatomichelpercommitplanes+0x20c/0x684 [ 31.080951] drmatomichelpercommittail+0x5c/0xb0 [ 31.081139] committail+0x234/0x294 [ 31.081246] drmatomichelpercommit+0x1f8/0x210 [ 31.081363] drmatomiccommit+0x100/0x140 [ 31.081477] drmclientmodesetcommitatomic+0x318/0x384 [ 31.081634] drmclientmodesetcommitlocked+0x8c/0x24c [ 31.081725] drmclientmodesetcommit+0x34/0x5c [ 31.081812] __drmfbhelper_restorefbdevmodeunlocked+0x104/0x168 [ 31.081899] drmfbhelpersetpar+0x50/0x70 [ 31.081971] fbconinit+0x538/0xc48 [ 31.082047] visualinit+0x16c/0x23c [ 31.082207] dobindcondriver.isra.0+0x2d0/0x634 [ 31.082320] dotakeoverconsole+0x24c/0x33c [ 31.082429] dofbcontakeover+0xbc/0x1b0 [ 31.082503] fbconfbregistered+0x2d0/0x34c [ 31.082663] registerframebuffer+0x27c/0x38c [ 31.082767] __drmfbhelperinitialconfigandunlock+0x5c0/0x91c [ 31.082939] drmfbhelperinitialconfig+0x50/0x74 [ 31.083012] drmfbdevdmaclienthotplug+0xb8/0x108 [ 31.083115] drmclientregister+0xa0/0xf4 [ 31.083195] drmfbdevdmasetup+0xb0/0x1cc [ 31.083293] zynqmpdpsubdrminit+0x45c/0x4e0 [ 31.083431] zynqmpdpsubprobe+0x444/0x5e0 [ 31.083616] platformprobe+0x8c/0x13c [ 31.083713] reallyprobe+0x258/0x59c [ 31.083793] __driverprobedevice+0xc4/0x224 [ 31.083878] driverprobedevice+0x70/0x1c0 [ 31.083961] __deviceattachdriver+0x108/0x1e0 [ 31.084052] bus_foreachdrv+0x9c/0x100 [ 31.084125] _deviceattach+0x100/0x298 [ 31.084207] deviceinitialprobe+0x14/0x20 [ 31.084292] busprobedevice+0xd8/0xdc [ 31.084368] deferredprobeworkfunc+0x11c/0x180 [ 31.084451] processonework+0x3ac/0x988 [ 31.084643] workerthread+0x398/0x694 [ 31.084752] kthread+0x1bc/0x1c0 [ 31.084848] retfromfork+0x10/0x20 [ 31.084932] irq event stamp: 64549 [ 31.084970] hardirqs last enabled at (64548): [<ffffffc081adf35c>] rawspinunlockirqrestore+0x80/0x90 [ 31.085157] ---truncated---

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/35xxx/CVE-2024-35990.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
7cbb0c63de3fc218fd06ecfedb477772a4d12f76
Fixed
fcdd5bb4a8c81c64c1334d7e0aba41a8829a24de
Fixed
0ccac964520a6f19e355652c8ca38af2a7f27076
Fixed
8bf574183282d219cfa991f7df37aad491d74c11
Fixed
8e3c94767cad5150198e4337c8b91f3bb068e14b
Fixed
c660be571609e03e7d5972343536a736fcb31557
Fixed
244296cc3a155199a8b080d19e645d7d49081a38

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.9.0
Fixed
5.10.216
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.158
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.90
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.30
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.8.9

Database specific

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