Re: [PATCH v2 1/4] coccinelle: api: extend memdup_user transformation with GFP_USER

From: Markus Elfring
Date: Mon Jun 08 2020 - 13:20:54 EST


> Match GFP_USER and optional __GFP_NOWARN allocations with
> memdup_user.cocci rule.

You suggest another interesting software extension.


â
> +++ b/scripts/coccinelle/api/memdup_user.cocci
> @@ -20,7 +20,9 @@ expression from,to,size;
> identifier l1,l2;
> @@
>
> -- to = \(kmalloc\|kzalloc\)(size,GFP_KERNEL);
> +- to = \(kmalloc\|kzalloc\)
> + (size,\(GFP_KERNEL\|GFP_USER\|
> + \(GFP_KERNEL\|GFP_USER\)|__GFP_NOWARN\));
> + to = memdup_user(from,size);

But I find the proposed change for such SmPL code inappropriate.

It was specified by the means of the semantic patch language
to replace an assignment statement for which a function call provides a value.
I would interpret your adjustment in the way that an expression list
should be preserved.
Were two minus characters forgotten for the first SmPL rule?

Further concerns should be taken into account for the SmPL rule ârâ.

I would appreciate if the clarification will be continued also for
the topic âSafer source code analysis by "memdup_user.cocci"â?
https://github.com/coccinelle/coccinelle/issues/78

Regards,
Markus