CVE-2023-53849
Description
In the Linux kernel, the following vulnerability has been resolved:
drm/msm: fix workqueue leak on bind errors
Make sure to destroy the workqueue also in case of early errors during bind (e.g. a subcomponent failing to bind).
Since commit c3b790ea07a1 ("drm: Manage drm_mode_config_init with drmm_") the mode config will be freed when the drm device is released also when using the legacy interface, but add an explicit cleanup for consistency and to facilitate backporting.
Patchwork: https://patchwork.freedesktop.org/patch/525093/
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A workqueue leak in the MSM DRM driver can occur on early bind errors, potentially leading to resource exhaustion.
Vulnerability
Overview
The vulnerability is a workqueue leak in the MSM DRM (Direct Rendering Manager) driver for Qualcomm Adreno GPUs in the Linux kernel. When the driver's bind function encounters early errors—such as a subcomponent failing to bind—the allocated workqueue is not properly destroyed. This occurs because the error path does not include a call to destroy the workqueue, leading to a resource leak.
Root
Cause and Exploitation
The root cause is the missing workqueue cleanup in error paths of the bind function. The commit that introduced drm_mode_config_init with drmm_ (managed device resource) ensures the mode config is freed when the DRM device is released, but the workqueue itself is not tied to that mechanism. The patch adds explicit cleanup for consistency and to facilitate backporting [1]. An attacker would need to trigger a bind failure, which could be achieved through a malicious or malformed device tree or a faulty display subcomponent. No special privileges are required if the attacker can control the device configuration.
Potential
Impact
If the workqueue leak is repeated (e.g., by repeatedly binding and failing to bind the driver), the system could exhaust kernel memory or reach a limit on workqueue allocations, potentially causing a denial of service (DoS). However, the leak is limited to the workqueue structure and does not provide code execution or privilege escalation.
Mitigation
The patch [1] fixes the issue by adding an explicit destroy_workqueue() call in the bind error path. The fix has been applied to the Linux kernel stable branches. Users should update their kernel to include this patch or a later version that contains it. There is no known workaround other than avoiding triggering the error condition.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
46e1476225ec028e34db2f3e08551c4b7c8ffa75b49db6529Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4News mentions
0No linked articles in our index yet.