Re: [v2] Coccinelle: zalloc-simple: Delete function âkmem_cache_allocâ from SmPL rules

From: Julia Lawall
Date: Wed Jan 31 2018 - 12:39:09 EST




On Wed, 31 Jan 2018, SF Markus Elfring wrote:

> > I removed the blank line at EOF,
> > then applied to linux-kbuild/misc.
>
> I have taken another look at this script for the semantic patch language.
> I imagined that I could refactor the shown SmPL disjunctions a bit.
> But I noticed then that these SmPL rules contain a development mistake.
>
> The deletion for a call of the function âmemsetâ depends on the specification
> that a size determination is passed by the expression âE1â.
> The function âkmem_cache_allocâ was specified despite of the technical detail
> that this function does not get a parameter passed which would correspond
> to such a size information.
> https://elixir.free-electrons.com/linux/v4.15/source/tools/testing/radix-tree/linux/slab.h#L14
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/tools/testing/radix-tree/linux/slab.h?id=537659c08a7da298aa748854f65f2aa1f31b1378#n14
>
> Thus I suggest to remove it from the first two SmPL rules and omit the rule âr4â.
> Will the rule set be more consistent then?

If E1 is not bound by the kem_cache_alloc rule, then it will match
anything. The user can check if it is appropriate.

Another option would be to use the type of the variable storing the result
of the call to compute the expected size. Feel free to send a patch.

julia