CVE-2024-35990: Vulnerability in Linux Linux
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/xilinx_dpdma.c:834 xilinx_dpdma_chan_queue_transfer+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: events_unbound deferred_probe_work_func [ 31.078272] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 31.078377] pc : xilinx_dpdma_chan_queue_transfer+0x274/0x5e0 [ 31.078473] lr : xilinx_dpdma_chan_queue_transfer+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] xilinx_dpdma_chan_queue_transfer+0x274/0x5e0 [ 31.080518] xilinx_dpdma_issue_pending+0x11c/0x120 [ 31.080595] zynqmp_disp_layer_update+0x180/0x3ac [ 31.080712] zynqmp_dpsub_plane_atomic_update+0x11c/0x21c [ 31.080825] drm_atomic_helper_commit_planes+0x20c/0x684 [ 31.080951] drm_atomic_helper_commit_tail+0x5c/0xb0 [ 31.081139] commit_tail+0x234/0x294 [ 31.081246] drm_atomic_helper_commit+0x1f8/0x210 [ 31.081363] drm_atomic_commit+0x100/0x140 [ 31.081477] drm_client_modeset_commit_atomic+0x318/0x384 [ 31.081634] drm_client_modeset_commit_locked+0x8c/0x24c [ 31.081725] drm_client_modeset_commit+0x34/0x5c [ 31.081812] __drm_fb_helper_restore_fbdev_mode_unlocked+0x104/0x168 [ 31.081899] drm_fb_helper_set_par+0x50/0x70 [ 31.081971] fbcon_init+0x538/0xc48 [ 31.082047] visual_init+0x16c/0x23c [ 31.082207] do_bind_con_driver.isra.0+0x2d0/0x634 [ 31.082320] do_take_over_console+0x24c/0x33c [ 31.082429] do_fbcon_takeover+0xbc/0x1b0 [ 31.082503] fbcon_fb_registered+0x2d0/0x34c [ 31.082663] register_framebuffer+0x27c/0x38c [ 31.082767] __drm_fb_helper_initial_config_and_unlock+0x5c0/0x91c [ 31.082939] drm_fb_helper_initial_config+0x50/0x74 [ 31.083012] drm_fbdev_dma_client_hotplug+0xb8/0x108 [ 31.083115] drm_client_register+0xa0/0xf4 [ 31.083195] drm_fbdev_dma_setup+0xb0/0x1cc [ 31.083293] zynqmp_dpsub_drm_init+0x45c/0x4e0 [ 31.083431] zynqmp_dpsub_probe+0x444/0x5e0 [ 31.083616] platform_probe+0x8c/0x13c [ 31.083713] really_probe+0x258/0x59c [ 31.083793] __driver_probe_device+0xc4/0x224 [ 31.083878] driver_probe_device+0x70/0x1c0 [ 31.083961] __device_attach_driver+0x108/0x1e0 [ 31.084052] bus_for_each_drv+0x9c/0x100 [ 31.084125] __device_attach+0x100/0x298 [ 31.084207] device_initial_probe+0x14/0x20 [ 31.084292] bus_probe_device+0xd8/0xdc [ 31.084368] deferred_probe_work_func+0x11c/0x180 [ 31.084451] process_one_work+0x3ac/0x988 [ 31.084643] worker_thread+0x398/0x694 [ 31.084752] kthread+0x1bc/0x1c0 [ 31.084848] ret_from_fork+0x10/0x20 [ 31.084932] irq event stamp: 64549 [ 31.084970] hardirqs last enabled at (64548): [<ffffffc081adf35c>] _raw_spin_unlock_irqrestore+0x80/0x90 [ 31.085157] ---truncated---
AI Analysis
Technical Summary
CVE-2024-35990 is a vulnerability identified in the Linux kernel specifically within the Xilinx DMA (Direct Memory Access) driver, xilinx_dpdma. The issue stems from improper locking mechanisms where either chan->lock or chan->vchan.lock were not consistently held during certain operations, leading to potential race conditions and kernel lock dependency (lockdep) warnings. The vulnerability was detected through kernel warnings and stack traces indicating improper synchronization in the function xilinx_dpdma_chan_queue_transfer and related DMA channel operations. This improper locking can cause unpredictable behavior such as data corruption, kernel panics, or system instability due to concurrent access to shared resources without proper serialization. The vulnerability affects Linux kernel versions containing the xilinx_dpdma driver, which is used primarily on Xilinx Zynq UltraScale+ MPSoC platforms and similar embedded systems that leverage Xilinx hardware for DMA operations. The fix involves adding appropriate locking to ensure that critical sections are protected, eliminating the race conditions and associated kernel warnings. Although no known exploits are reported in the wild, the nature of the vulnerability—kernel-level locking issues—could potentially be leveraged by a local attacker or malicious process to cause denial of service (system crash) or potentially escalate privileges by corrupting kernel memory or state. The vulnerability does not require user interaction but does require local access to the affected system. It is primarily a stability and integrity issue rather than a direct confidentiality breach. The Linux kernel is widely used across many industries and embedded devices, but this specific driver is relevant mainly to systems using Xilinx hardware platforms.
Potential Impact
For European organizations, the impact of CVE-2024-35990 depends largely on their use of Linux systems running on Xilinx hardware platforms, such as Zynq UltraScale+ MPSoC devices. These platforms are common in industrial control systems, telecommunications infrastructure, automotive embedded systems, and specialized computing environments. A successful exploitation could lead to system crashes or instability, causing denial of service conditions that disrupt critical operations. This could affect manufacturing plants, telecom providers, or automotive systems relying on these embedded Linux devices. While the vulnerability does not directly expose sensitive data, the resulting system instability could lead to operational downtime, safety risks in industrial environments, and increased maintenance costs. Additionally, if attackers leverage the race condition to corrupt kernel memory, there is a theoretical risk of privilege escalation, which could compromise system integrity and allow further attacks. European organizations in sectors such as industrial automation, automotive manufacturing, and telecommunications that deploy Xilinx-based embedded Linux systems should be particularly vigilant. The impact is less relevant for general-purpose Linux servers or desktops not using this specific hardware driver.
Mitigation Recommendations
To mitigate CVE-2024-35990, European organizations should: 1) Identify all Linux systems running on Xilinx hardware platforms, especially those using the xilinx_dpdma driver. 2) Apply the latest Linux kernel patches that include the fix for this vulnerability as soon as they become available from trusted Linux kernel sources or vendor distributions. 3) For embedded devices where kernel updates are complex, coordinate with hardware vendors or system integrators to obtain updated firmware or kernel images that address this issue. 4) Implement strict access controls to limit local user access to affected systems, reducing the risk of local exploitation. 5) Monitor system logs for kernel warnings or lockdep messages indicative of this vulnerability being triggered. 6) Where possible, isolate critical embedded systems from general network access to reduce attack surface. 7) Conduct thorough testing of updated kernels in controlled environments before deployment to avoid regressions in embedded systems. These steps go beyond generic advice by focusing on hardware-specific identification, vendor coordination, and operational monitoring tailored to the affected platforms.
Affected Countries
Germany, France, United Kingdom, Italy, Spain, Netherlands, Sweden, Finland
CVE-2024-35990: Vulnerability in Linux Linux
Description
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/xilinx_dpdma.c:834 xilinx_dpdma_chan_queue_transfer+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: events_unbound deferred_probe_work_func [ 31.078272] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 31.078377] pc : xilinx_dpdma_chan_queue_transfer+0x274/0x5e0 [ 31.078473] lr : xilinx_dpdma_chan_queue_transfer+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] xilinx_dpdma_chan_queue_transfer+0x274/0x5e0 [ 31.080518] xilinx_dpdma_issue_pending+0x11c/0x120 [ 31.080595] zynqmp_disp_layer_update+0x180/0x3ac [ 31.080712] zynqmp_dpsub_plane_atomic_update+0x11c/0x21c [ 31.080825] drm_atomic_helper_commit_planes+0x20c/0x684 [ 31.080951] drm_atomic_helper_commit_tail+0x5c/0xb0 [ 31.081139] commit_tail+0x234/0x294 [ 31.081246] drm_atomic_helper_commit+0x1f8/0x210 [ 31.081363] drm_atomic_commit+0x100/0x140 [ 31.081477] drm_client_modeset_commit_atomic+0x318/0x384 [ 31.081634] drm_client_modeset_commit_locked+0x8c/0x24c [ 31.081725] drm_client_modeset_commit+0x34/0x5c [ 31.081812] __drm_fb_helper_restore_fbdev_mode_unlocked+0x104/0x168 [ 31.081899] drm_fb_helper_set_par+0x50/0x70 [ 31.081971] fbcon_init+0x538/0xc48 [ 31.082047] visual_init+0x16c/0x23c [ 31.082207] do_bind_con_driver.isra.0+0x2d0/0x634 [ 31.082320] do_take_over_console+0x24c/0x33c [ 31.082429] do_fbcon_takeover+0xbc/0x1b0 [ 31.082503] fbcon_fb_registered+0x2d0/0x34c [ 31.082663] register_framebuffer+0x27c/0x38c [ 31.082767] __drm_fb_helper_initial_config_and_unlock+0x5c0/0x91c [ 31.082939] drm_fb_helper_initial_config+0x50/0x74 [ 31.083012] drm_fbdev_dma_client_hotplug+0xb8/0x108 [ 31.083115] drm_client_register+0xa0/0xf4 [ 31.083195] drm_fbdev_dma_setup+0xb0/0x1cc [ 31.083293] zynqmp_dpsub_drm_init+0x45c/0x4e0 [ 31.083431] zynqmp_dpsub_probe+0x444/0x5e0 [ 31.083616] platform_probe+0x8c/0x13c [ 31.083713] really_probe+0x258/0x59c [ 31.083793] __driver_probe_device+0xc4/0x224 [ 31.083878] driver_probe_device+0x70/0x1c0 [ 31.083961] __device_attach_driver+0x108/0x1e0 [ 31.084052] bus_for_each_drv+0x9c/0x100 [ 31.084125] __device_attach+0x100/0x298 [ 31.084207] device_initial_probe+0x14/0x20 [ 31.084292] bus_probe_device+0xd8/0xdc [ 31.084368] deferred_probe_work_func+0x11c/0x180 [ 31.084451] process_one_work+0x3ac/0x988 [ 31.084643] worker_thread+0x398/0x694 [ 31.084752] kthread+0x1bc/0x1c0 [ 31.084848] ret_from_fork+0x10/0x20 [ 31.084932] irq event stamp: 64549 [ 31.084970] hardirqs last enabled at (64548): [<ffffffc081adf35c>] _raw_spin_unlock_irqrestore+0x80/0x90 [ 31.085157] ---truncated---
AI-Powered Analysis
Technical Analysis
CVE-2024-35990 is a vulnerability identified in the Linux kernel specifically within the Xilinx DMA (Direct Memory Access) driver, xilinx_dpdma. The issue stems from improper locking mechanisms where either chan->lock or chan->vchan.lock were not consistently held during certain operations, leading to potential race conditions and kernel lock dependency (lockdep) warnings. The vulnerability was detected through kernel warnings and stack traces indicating improper synchronization in the function xilinx_dpdma_chan_queue_transfer and related DMA channel operations. This improper locking can cause unpredictable behavior such as data corruption, kernel panics, or system instability due to concurrent access to shared resources without proper serialization. The vulnerability affects Linux kernel versions containing the xilinx_dpdma driver, which is used primarily on Xilinx Zynq UltraScale+ MPSoC platforms and similar embedded systems that leverage Xilinx hardware for DMA operations. The fix involves adding appropriate locking to ensure that critical sections are protected, eliminating the race conditions and associated kernel warnings. Although no known exploits are reported in the wild, the nature of the vulnerability—kernel-level locking issues—could potentially be leveraged by a local attacker or malicious process to cause denial of service (system crash) or potentially escalate privileges by corrupting kernel memory or state. The vulnerability does not require user interaction but does require local access to the affected system. It is primarily a stability and integrity issue rather than a direct confidentiality breach. The Linux kernel is widely used across many industries and embedded devices, but this specific driver is relevant mainly to systems using Xilinx hardware platforms.
Potential Impact
For European organizations, the impact of CVE-2024-35990 depends largely on their use of Linux systems running on Xilinx hardware platforms, such as Zynq UltraScale+ MPSoC devices. These platforms are common in industrial control systems, telecommunications infrastructure, automotive embedded systems, and specialized computing environments. A successful exploitation could lead to system crashes or instability, causing denial of service conditions that disrupt critical operations. This could affect manufacturing plants, telecom providers, or automotive systems relying on these embedded Linux devices. While the vulnerability does not directly expose sensitive data, the resulting system instability could lead to operational downtime, safety risks in industrial environments, and increased maintenance costs. Additionally, if attackers leverage the race condition to corrupt kernel memory, there is a theoretical risk of privilege escalation, which could compromise system integrity and allow further attacks. European organizations in sectors such as industrial automation, automotive manufacturing, and telecommunications that deploy Xilinx-based embedded Linux systems should be particularly vigilant. The impact is less relevant for general-purpose Linux servers or desktops not using this specific hardware driver.
Mitigation Recommendations
To mitigate CVE-2024-35990, European organizations should: 1) Identify all Linux systems running on Xilinx hardware platforms, especially those using the xilinx_dpdma driver. 2) Apply the latest Linux kernel patches that include the fix for this vulnerability as soon as they become available from trusted Linux kernel sources or vendor distributions. 3) For embedded devices where kernel updates are complex, coordinate with hardware vendors or system integrators to obtain updated firmware or kernel images that address this issue. 4) Implement strict access controls to limit local user access to affected systems, reducing the risk of local exploitation. 5) Monitor system logs for kernel warnings or lockdep messages indicative of this vulnerability being triggered. 6) Where possible, isolate critical embedded systems from general network access to reduce attack surface. 7) Conduct thorough testing of updated kernels in controlled environments before deployment to avoid regressions in embedded systems. These steps go beyond generic advice by focusing on hardware-specific identification, vendor coordination, and operational monitoring tailored to the affected platforms.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-05-17T13:50:33.146Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9828c4522896dcbe23c1
Added to database: 5/21/2025, 9:08:56 AM
Last enriched: 6/29/2025, 9:09:52 AM
Last updated: 7/29/2025, 9:05:11 PM
Views: 10
Related Threats
CVE-2025-9011: SQL Injection in PHPGurukul Online Shopping Portal Project
MediumCVE-2025-9010: SQL Injection in itsourcecode Online Tour and Travel Management System
MediumCVE-2025-9009: SQL Injection in itsourcecode Online Tour and Travel Management System
MediumCVE-2025-31961: CWE-1220 Insufficient Granularity of Access Control in HCL Software Connections
LowCVE-2025-9008: SQL Injection in itsourcecode Online Tour and Travel Management System
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.