Hi, This is the V4 of my patchset that attempts to fix use-after-free errors in bridge/panel.c and in the ingenic-drm driver. Changes from v3: - [1/3]: the code now checks (connector->dev) instead of (!!panel_bridge->connector.dev) - [2/3]: the macro is now called drmm_plain_encoder_alloc(), and moved to <drm/drm_encoder.h>. It also takes funcs/name parameters to be more similar to drmm_encoder_alloc(), although these parameters can very well be NULL. - [3/3] uses the new macro. V3 had a 4th patch, which was already applied as it received a reviewed-by tag and could be applied independently. Cheers, -Paul Paul Cercueil (3): drm: bridge/panel: Cleanup connector on bridge detach drm/encoder: Add macro drmm_plain_encoder_alloc() drm/ingenic: Register devm action to cleanup encoders drivers/gpu/drm/bridge/panel.c | 12 ++++++++++++ drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 17 +++++++---------- include/drm/drm_encoder.h | 18 ++++++++++++++++++ 3 files changed, 37 insertions(+), 10 deletions(-) -- 2.30.2