[PATCH v2] media: mdp3: Fix resource leak in a for_each_child_of_node() loop

Lu Hongfei luhongfei at vivo.com
Thu Jul 20 05:19:19 PDT 2023


On 2023/7/20 15:51, AngeloGioacchino Del Regno wrote:
> [Some people who received this message don't often get email from 
> angelogioacchino.delregno at collabora.com. Learn why this is important 
> at https://aka.ms/LearnAboutSenderIdentification ]
>
> Il 20/07/23 08:23, Lu Hongfei ha scritto:
>> for_each_child_of_node should have of_node_put()
>> in error path avoid resource leaks.
>>
>> Signed-off-by: Lu Hongfei <luhongfei at vivo.com>
>> ---
>> Changelog:
>> v1->v2:
>> 1. Change the subject line of this patch to include driver name.
>> 2. Remove the unneeded of_node_put.
>>
>>   drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c 
>> b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c
>> index a605e80c7dc3..40c4b79a5090 100644
>> --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c
>> +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c
>> @@ -1135,6 +1135,7 @@ int mdp_comp_config(struct mdp_dev *mdp)
>>               comp = mdp_comp_create(mdp, node, id);
>>               if (IS_ERR(comp)) {
>>                       ret = PTR_ERR(comp);
>> +                     of_node_put(node);
>>                       goto err_init_comps;
>>               }
>>
>
> In case mdp_comp_sub_create() fails, we still want to decrease the 
> refcount
> of `node`....
>
> ...so, just call of_node_put(node) just once, at the err_init_comps 
> label.
>
> err_init_comps:
>        mdp_comp_destroy(mdp);
>        of_node_put(node);
>        return ret;
>
> Regards,
> Angelo

mdp_comp_sub_create() executes after for_each_child_of_node loop ends.

The for_each_child_of_node loop ended, node == NULL and there is nothing 
to put.

So I don't think it's necessary to decrease the refcount of `node` again 
when

mdp_comp_sub_create() fails.

Or you could further explain the reason for doing so.

MBR,

Hongfei




More information about the linux-arm-kernel mailing list