Executive brief
The Linux kernel's sun4i display timing controller driver contained a resource leak where a device reference acquired during HDMI multiplexer configuration was not properly released. This could lead to kernel memory being held indefinitely, potentially degrading system stability over time or enabling denial-of-service conditions on embedded systems using Allwinner R40 processors.
Technical details
The sun8i_r40_tcon_tv_set_mux() function in drivers/gpu/drm/sun4i/sun4i_tcon.c calls of_find_device_by_node() to obtain a platform device reference for TCON TOP configuration. The function was missing a put_device() call to release this reference on all code paths, specifically after successful or failed HDMI/DE mux configuration. This is a resource leak vulnerability (CWE-772) that causes reference count imbalance. The issue affects only systems with Allwinner R40 processors attempting HDMI display output configuration. The fix consolidates error handling with a goto label to ensure put_device() is called unconditionally before function return. Patches are available in upstream Linux kernel.
Affected products
- Linux Linux kernel affected versions prior to patch 8208832a38ff3d2560eb8a77a9d7a2f17d8ebcdc
Timeline
- 2026-09-17: disclosed
- 2026-08-03: patched: Upstream commit 8208832a38ff3d2560eb8a77a9d7a2f17d8ebcdc