Re: [PATCH] firmware: arm_sdei: fix wrong of_node_put() in init function

From: Nicolas Saenz Julienne
Date: Mon Dec 03 2018 - 07:26:01 EST


Hi James, thanks for the review!

On Fri, 2018-11-30 at 18:31 +0000, James Morse wrote:
> Hi Nicolas,
>
> On 26/11/2018 12:15, Nicolas Saenz Julienne wrote:
> > After finding a "firmware" dt node arm_sdei tries to match it's
> > compatible string with it. To do so it's calling
> > of_find_matching_node()
> > which already takes care of decreasing the refcount on the
> > "firmware"
> > node. We are then incorrectly decreasing the refcount on that node
> > again.
> >
> > This patch removes the unwarranted call to of_node_put().
> >
> > Fixes: ad6eb31ef903 ("firmware: arm_sdei: Add driver for Software
> > Delegated Exceptions")
> > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx>
>
> Thanks!, I agree this is unwarranted.
> Is there a tool that picks these up? I remember sparse giving me a
> headache, but
> I don't remember this one... I probably cargo-culted it from
> somewhere else.

We stumbled upon this one on a test system. TBH I don't really know
much about these tools so I can't tell. That said, I sent 4 more fixes
on this bug (one more in drivers/firmware) so there definitively was
some cargo-culting happening.

Regards,
Nicolas

>
> Acked-by: James Morse <james.morse@xxxxxxx>
>
>
> Thanks,
>
> James
>
>
> > ---
> > drivers/firmware/arm_sdei.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/drivers/firmware/arm_sdei.c
> > b/drivers/firmware/arm_sdei.c
> > index 1ea71640fdc2..dffb47c6b480 100644
> > --- a/drivers/firmware/arm_sdei.c
> > +++ b/drivers/firmware/arm_sdei.c
> > @@ -1017,7 +1017,6 @@ static bool __init sdei_present_dt(void)
> > return false;
> >
> > np = of_find_matching_node(fw_np, sdei_of_match);
> > - of_node_put(fw_np);
> > if (!np)
> > return false;
> >
> >

Attachment: signature.asc
Description: This is a digitally signed message part