Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] drm/verisilicon: reference leak of next bridge when devm_drm_bridge_alloc fails --
commit 49db4512b47fdbbe2150c6b5f4f559940d0929cd Author: Luca Ceresoli <[email protected]> drm: verisilicon: stop using deprecated devm_drm_of_get_bridge() devm_drm_of_get_bridge() is deprecated, switch to of_drm_get_bridge_by_endpoint(). As of_drm_get_bridge_by_endpoint() returns a refcounted bridge, ensure it is put by using bridge.next_bridge. Link: https://lore.kernel.org/r/[email protected] > diff --git a/drivers/gpu/drm/verisilicon/vs_bridge.c > b/drivers/gpu/drm/verisilicon/vs_bridge.c > index dc7c85b07fe32..f1e8112f0ed25 100644 > --- a/drivers/gpu/drm/verisilicon/vs_bridge.c > +++ b/drivers/gpu/drm/verisilicon/vs_bridge.c [ ... ] > @@ -303,8 +303,7 @@ struct vs_bridge *vs_bridge_init(struct drm_device > *drm_dev, > return NULL; > } > > - next = devm_drm_of_get_bridge(drm_dev->dev, drm_dev->dev->of_node, > - output, intf); > + next = of_drm_get_bridge_by_endpoint(drm_dev->dev->of_node, output, > intf); > if (IS_ERR(next)) { > ret = PTR_ERR(next); > if (ret != -EPROBE_DEFER) [Severity: Medium] Will this leak the refcounted bridge next on error paths? Since of_drm_get_bridge_by_endpoint() returns a refcounted bridge, it appears a reference leak will happen in vs_bridge_init() if the subsequent allocation fails: bridge = devm_drm_bridge_alloc(drm_dev->dev, struct vs_bridge, base, bridge_funcs); if (IS_ERR(bridge)) return ERR_PTR(PTR_ERR(bridge)); Does this error path need a call to drm_bridge_put(next) to properly release the reference before returning? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/20260929-drm-fix-of_get_bridge-build-regression-v1-0-ccb7e602d...@bootlin.com?part=2
