CVE-2026-23033 Overview
A resource leak vulnerability has been identified in the Linux kernel's OMAP DMA engine driver. The vulnerability occurs in the omap-dma driver where the dma_pool created by dma_pool_create() is not properly destroyed when dma_async_device_register() or of_dma_controller_register() fails during the probe error paths. This memory leak can lead to system resource exhaustion over time, potentially impacting system stability and availability.
Critical Impact
Improper resource cleanup in error handling paths can lead to kernel memory leaks, potentially causing system instability and denial of service conditions on affected Linux systems with OMAP DMA hardware.
Affected Products
- Linux kernel with OMAP DMA engine driver
- Systems utilizing Texas Instruments OMAP-based processors
- Embedded Linux devices with DMA engine support
Discovery Timeline
- 2026-01-31 - CVE CVE-2026-23033 published to NVD
- 2026-02-03 - Last updated in NVD database
Technical Details for CVE-2026-23033
Vulnerability Analysis
This vulnerability represents a Memory Leak issue in the Linux kernel's DMA engine subsystem, specifically within the OMAP DMA driver. The root cause lies in improper error handling during driver initialization. When the dma_pool_create() function successfully allocates a DMA pool but subsequent registration calls fail, the allocated pool is not released, leading to a kernel memory leak.
The OMAP DMA driver is responsible for managing Direct Memory Access operations on Texas Instruments OMAP-based System-on-Chip (SoC) platforms. During the probe phase, the driver allocates resources including DMA pools. If either dma_async_device_register() or of_dma_controller_register() fails after the DMA pool has been created, the error path does not include the necessary dma_pool_destroy() call to release the allocated memory.
Root Cause
The vulnerability stems from incomplete error handling in the driver's probe function. When DMA pool allocation succeeds but subsequent device registration fails, the allocated resources are not properly freed. This is a classic resource leak pattern where cleanup code was missing from one or more error exit paths. The fix involves adding appropriate dma_pool_destroy() calls in both error paths to ensure proper resource cleanup regardless of where the failure occurs.
Attack Vector
While this vulnerability primarily affects system reliability rather than security directly, repeated triggering of the error condition could lead to:
- Resource Exhaustion: Continuous memory leaks can deplete available kernel memory
- System Instability: Memory pressure from leaked resources may cause unpredictable system behavior
- Denial of Service: In extreme cases, memory exhaustion could render the system unresponsive
The attack vector is considered local as it requires access to the affected system. An attacker would need the ability to trigger device probe operations or module loading to exploit this vulnerability.
Detection Methods for CVE-2026-23033
Indicators of Compromise
- Gradual increase in kernel memory usage over time without corresponding workload increase
- Kernel log messages indicating DMA registration failures
- System performance degradation on OMAP-based embedded devices
Detection Strategies
- Monitor kernel memory allocation statistics using /proc/meminfo and /proc/slabinfo
- Track DMA pool allocations through kernel debugging interfaces
- Implement alerts for repeated device registration failures in system logs
Monitoring Recommendations
- Enable kernel memory leak detection tools such as kmemleak for debugging environments
- Monitor for patterns of driver probe failures in dmesg output
- Implement system health monitoring for embedded devices using OMAP processors
How to Mitigate CVE-2026-23033
Immediate Actions Required
- Update affected Linux kernel installations to patched versions containing the fix
- Review system logs for evidence of DMA registration failures
- Consider limiting module loading capabilities on production systems
Patch Information
The Linux kernel development team has released patches to address this vulnerability. The fix adds dma_pool_destroy() calls in both error paths to properly release the allocated DMA pool resources when registration fails.
Patches are available through the following kernel git commits:
- Kernel Git Commit 2e1136a
- Kernel Git Commit 4b93712
- Kernel Git Commit 829b004
- Kernel Git Commit 88a9483
Workarounds
- If kernel updates are not immediately possible, avoid repeated loading/unloading of the OMAP DMA driver module
- Monitor system memory usage and schedule periodic reboots for critical systems if patching is delayed
- Consider disabling the OMAP DMA driver if not required for system operation
# Check if the OMAP DMA driver is loaded
lsmod | grep omap_dma
# Monitor kernel memory usage
watch -n 5 'cat /proc/meminfo | grep -E "MemFree|Slab|SReclaimable"'
# Check for DMA-related kernel messages
dmesg | grep -i "dma\|omap"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


