Re: [v6] coccinelle: semantic code search for missing put_device()

From: Julia Lawall
Date: Sun Feb 17 2019 - 07:52:33 EST




On Sun, 17 Feb 2019, Markus Elfring wrote:

> >> If you would insist on the specification of such an assignment exclusion
> >> for a SmPL ellipsis:
> >> Can we agree on a correct order?
> >
> > I don't get your point.
>
> I propose to take another closer look at a bit of SmPL code.
>
>
> > There is no correct order.
>
> I have got an other software development view here.
>
>
> > Each order expresses something different.
>
> I agree to this information.
>
>
> > The order that is currently in the semantic patch is the one
> > that is more likely in practice.
>
> Please check once more.
>
> â
> +@search exists@
> +local idexpression id;
> +expression x,e,e1;
> +position p1,p2;
> â
> +@@
> +
> +id = of_find_device_by_node@p1(x)
> +... when != e = id
> â
>
> Or:
>
> â
> + ... when != id = e
> â
>
>
> Which SmPL specification will achieve the desired software behaviour?

The desired behavior is to check whether the allocated value is saved in
some other variable (typically a structure field) and thus it doesn't need
to be freed just because the original local variable goes out of scope at
the end of the function. when != e = id achieves this behavior.

julia