[PATCH -next 2/5] drm/mediatek: Fix missing of_node_put() for mtk_drm_get_all_drm_priv()
Marion & Christophe JAILLET
christophe.jaillet at wanadoo.fr
Sat Aug 24 22:16:27 PDT 2024
Le 23/08/2024 à 12:46, Christophe JAILLET a écrit :
>> @@ -933,10 +931,8 @@ static int mtk_drm_probe(struct platform_device
>> *pdev)
>> }
>> ret = mtk_ddp_comp_init(node, &private->ddp_comp[comp_id],
>> comp_id);
>> - if (ret) {
>> - of_node_put(node);
>> + if (ret)
>> goto err_node;
>
> Hi,
>
> I've seen on another thread that is was not sure that scoped versions
> and gotos played well together.
>
> It was asked to check more in details and confirm that it was safe
> before applying the patch.
>
> I've not followed the discussion, so I just point it out, in case it helps.
>
> I'll try to give it a look in the coming days.
>
>
> CJ
>
Hi,
looking at the generated asm file (gcc 14.2.1), everything looks fine.
# drivers/gpu/drm/mediatek/mtk_drm_drv.c:933: ret =
mtk_ddp_comp_init(node, &private->ddp_comp[comp_id], comp_id);
salq $5, %rax #, _36
movl %r14d, %edx # comp_id,
movq %rbx, %rdi # node,
leaq 552(%rbp,%rax), %rsi #, _28
call mtk_ddp_comp_init #
movl %eax, %r12d # tmp205, <retval>
# drivers/gpu/drm/mediatek/mtk_drm_drv.c:934: if (ret)
testl %eax, %eax # <retval>
jne .L212 #,
...
.L212:
# ./include/linux/of.h:138: DEFINE_FREE(device_node, struct device_node
*, if (_T) of_node_put(_T))
movq %rbx, %rdi # node,
call of_node_put #
jmp .L171 #
CJ
More information about the Linux-rockchip
mailing list