[PATCH] v4l: xilinx-vipp: Fix refcount leak in xvip_graph_dma_init

Miaoqian Lin linmq006 at gmail.com
Wed Jun 1 01:32:53 PDT 2022


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 at gmail.com>
>> ---
>>  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 at ideasonboard.com>
>
>>  	return 0;
>>  }
>>  



More information about the linux-arm-kernel mailing list