CVE-2026-53058
Description
In the Linux kernel, the following vulnerability has been resolved:
drm/bridge: cadence: cdns-mhdp8546-core: Set the mhdp connector earlier in atomic_enable()
In case if we get errors in cdns_mhdp_link_up() or cdns_mhdp_reg_read()
in atomic_enable, we will go to cdns_mhdp_modeset_retry_fn() and will hit
NULL pointer while trying to access the mutex. We need the connector to
be set before that. Unlike in legacy cases with flag
!DRM_BRIDGE_ATTACH_NO_CONNECTOR, we do not have connector initialised
in bridge_attach(), so add the mhdp->connector_ptr in device structure
to handle both cases with DRM_BRIDGE_ATTACH_NO_CONNECTOR and
!DRM_BRIDGE_ATTACH_NO_CONNECTOR, set it in atomic_enable() earlier to
avoid possible NULL pointer dereference in recovery paths like
modeset_retry_fn() with the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag set.
Summary dbcve.org
In the Linux kernel's Cadence MHDP8546 DRM bridge driver, a NULL pointer dereference occurs when error handling in atomic_enable() jumps to cdns_mhdp_modeset_retry_fn() before the mhdp connector is initialized. If cdns_mhdp_link_up() or cdns_mhdp_reg_read() fail, the recovery path attempts to access a mutex through an uninitialized connector pointer.
Mitigation
The fix involves moving the mhdp->connector_ptr assignment earlier in atomic_enable() to ensure it's set before any error recovery paths can be triggered, preventing the NULL pointer dereference in both DRM_BRIDGE_ATTACH_NO_CONNECTOR and legacy configurations.