On 2024/8/25 13:16, Marion & Christophe JAILLET wrote: > > > 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. Yes, as I pointed out in another thread, the test show that goto with this scoped function is good. > > # 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 >