Re: [PATCH] v4l: xilinx-vipp: Fix refcount leak in xvip_graph_dma_init
From: Miaoqian Lin
Date: Wed Jun 01 2022 - 04:33:07 EST
Hi, Laurent
On 2022/6/1 15:34, Laurent Pinchart wrote:
> Hi Lin,
>
> Thank you for the patch.
>
> On Wed, Jun 01, 2022 at 08:25:14AM +0400, Miaoqian Lin wrote:
>> of_get_child_by_name() returns a node pointer with refcount
>> incremented, we should use of_node_put() on it when not need anymore.
>> Add missing of_node_put() to avoid refcount leak.
>>
>> Fixes: df3305156f98 ("[media] v4l: xilinx: Add Xilinx Video IP core")
>> Signed-off-by: Miaoqian Lin <linmq006@xxxxxxxxx>
>> ---
>> drivers/media/platform/xilinx/xilinx-vipp.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c b/drivers/media/platform/xilinx/xilinx-vipp.c
>> index f34f8b077e03..415579b63737 100644
>> --- a/drivers/media/platform/xilinx/xilinx-vipp.c
>> +++ b/drivers/media/platform/xilinx/xilinx-vipp.c
>> @@ -483,10 +483,12 @@ static int xvip_graph_dma_init(struct xvip_composite_device *xdev)
>> ret = xvip_graph_dma_init_one(xdev, port);
>> if (ret < 0) {
>> of_node_put(port);
>> + of_node_put(ports);
>> return ret;
>> }
>> }
>>
>> + of_node_put(ports);
> We could possibly simplify this a little bit by initializing ret to 0
> when declaring it, replacing the "return ret" above by a break, and
> returning ret below. This would remove the need for the first
> of_node_put(ports) call above.
>
> If you think that's a good idea I can make that change when applying
> this patch to my tree, otherwise I'll take it as-is.
Thanks for your review, I think your idea is good, we can do that to simplify code.
> In either case,
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>
>> return 0;
>> }
>>