Re: [PATCH 11/13] drm/sun4i: Drop node references while building component list
Chen-Yu Tsai <[email protected]> Tue, 4 Aug 2026 01:10:23 +0800
| Newsgroups | org.infradead.lists.linux-arm-kernel,dev.linux.lists.linux-sunxi,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAGb2v65TCJTNNJCNHOrD5crXDHaB5xHk38OoU8cJYneLoK6WzQ@mail.gmail.com> |
On Tue, Aug 4, 2026 at 12:11 AM Jernej Skrabec <[email protected]> wrote: > > Two references are leaked every time the display pipeline is walked: > the output port node in sun4i_drv_traverse_endpoints(), which was never > released since the driver was introduced, and each node taken out of > the endpoint fifo in sun4i_drv_probe(), which stopped being released > when the fifo was introduced. The latter is still safe to drop right > after processing, since drm_of_component_match_add() takes its own > reference. > > Fixes: 9026e0d122ac ("drm: Add Allwinner A10 Display Engine support") > Fixes: 8b11aaface2b ("drm/sun4i: Implement endpoint parsing using kfifo") > Signed-off-by: Jernej Skrabec <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> > --- > drivers/gpu/drm/sun4i/sun4i_drv.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c > index 8a409eee1dca..e9baca360160 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_drv.c > +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c > @@ -289,6 +289,8 @@ static void sun4i_drv_traverse_endpoints(struct endpoint_list *list, > > kfifo_put(&list->fifo, remote); > } > + > + of_node_put(port); > } > > static int sun4i_drv_add_endpoints(struct device *dev, > @@ -394,6 +396,7 @@ static int sun4i_drv_probe(struct platform_device *pdev) > /* process this endpoint */ > ret = sun4i_drv_add_endpoints(&pdev->dev, &list, &match, > endpoint); > + of_node_put(endpoint); > > /* sun4i_drv_add_endpoints can fail to allocate memory */ > if (ret < 0) > -- > 2.43.0 >