[PATCH 0/6] soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free
Neil Armstrong
neil.armstrong at linaro.org
Fri Feb 23 14:54:05 UTC 2024
On 17/02/2024 16:02, Johan Hovold wrote:
> Starting with 6.8-rc1 the internal display sometimes fails to come up on
> machines like the Lenovo ThinkPad X13s and the logs indicate that this
> is due to a regression in the DRM subsystem [1].
>
> This series fixes a race in the pmic_glink_altmode driver which was
> exposed / triggered by the transparent DRM bridges rework that went into
> 6.8-rc1 and that manifested itself as a bridge failing to attach and
> sometimes triggering a NULL-pointer dereference.
>
> The intermittent hard resets that have also been reported since 6.8-rc1
> unfortunately still remains and suggests that we are dealing with two
> separate regressions. There is some indication that also the hard resets
> (e.g. due to register accesses to unclocked hardware) are also due to
> changes in the DRM subsystem as it happens around the time that the eDP
> panel and display controller would be initialised during boot (the
> runtime PM rework?). This remains to be verified, however.
>
> Included is also a fix for a related OF node reference leak in the
> aux-hpd driver found through inspection when reworking the driver.
>
> The use-after-free bug is triggered by a probe deferral and highlighted
> some further bugs in the involved drivers, which were registering child
> devices before deferring probe. This behaviour is not correct and can
> both trigger probe deferral loops and potentially also further issues
> with the DRM bridge implementation.
>
> This series can either go through the Qualcomm SoC tree (pmic_glink) or
> the DRM tree. The PHY patches do not depend on the rest of the series
> and could possibly be merged separately through the PHY tree.
>
> Whichever gets this to mainline the fastest.
>
> Johan
>
>
> [1] https://lore.kernel.org/lkml/ZctVmLK4zTwcpW3A@hovoldconsulting.com/
>
>
> Johan Hovold (5):
> drm/bridge: aux-hpd: fix OF node leaks
> drm/bridge: aux-hpd: separate allocation and registration
> soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free
> phy: qcom-qmp-combo: fix drm bridge registration
> phy: qcom-qmp-combo: fix type-c switch registration
>
> Rob Clark (1):
> soc: qcom: pmic_glink: Fix boot when QRTR=m
>
> drivers/gpu/drm/bridge/aux-hpd-bridge.c | 70 ++++++++++++++++++-----
> drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 16 +++---
> drivers/soc/qcom/pmic_glink.c | 21 +++----
> drivers/soc/qcom/pmic_glink_altmode.c | 16 +++++-
> include/drm/bridge/aux-bridge.h | 15 +++++
> 5 files changed, 102 insertions(+), 36 deletions(-)
>
For the serie:
Acked-by: Neil Armstrong <neil.armstrong at linaro.org>
After an offline discussion, Dmitry, it's ok to push the remaining patches to drm-misc-fixes.
Thanks,
Neil
More information about the Freedreno
mailing list