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

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Thu Jul 20 05:47:43 PDT 2023


Il 20/07/23 14:19, Lu Hongfei ha scritto:
> 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.
> 

You're right. My bad.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>



More information about the Linux-mediatek mailing list