[<prev] [next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.22.394.2008091324530.2450@hadrien>
Date: Sun, 9 Aug 2020 13:25:34 +0200 (CEST)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Markus Elfring <Markus.Elfring@....de>
cc: Denis Efremov <efremov@...ux.com>,
Coccinelle <cocci@...teme.lip6.fr>,
Gilles Muller <Gilles.Muller@...6.fr>,
Masahiro Yamada <masahiroy@...nel.org>,
Michal Marek <michal.lkml@...kovi.net>,
Nicolas Palix <nicolas.palix@...g.fr>,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: Re: [PATCH] Coccinelle: Reduce duplicate code for patch rules of
memdup_user.cocci
On Sun, 9 Aug 2020, Markus Elfring wrote:
> From: Markus Elfring <elfring@...rs.sourceforge.net>
> Date: Sun, 9 Aug 2020 11:11:20 +0200
>
> Another patch rule was added. A bit of code was copied from a previous
> SmPL rule for this change specification.
>
> * Thus reduce duplicate code by using another SmPL disjunction.
I don't care about this issue.
>
> * Increase the precision a bit for desired source code adjustments.
This gives no information. If you explain the improvement in an
understandable way, I will consider whether it is useful to take the
patch.
julia
> Fixes: 9c568dbd677bcfc975220d3157c89c48669a23e3 ("coccinelle: api: extend memdup_user rule with vmemdup_user()")
> Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
> ---
> scripts/coccinelle/api/memdup_user.cocci | 44 +++++++++---------------
> 1 file changed, 16 insertions(+), 28 deletions(-)
>
> diff --git a/scripts/coccinelle/api/memdup_user.cocci b/scripts/coccinelle/api/memdup_user.cocci
> index e01e95108405..7cf698b4e925 100644
> --- a/scripts/coccinelle/api/memdup_user.cocci
> +++ b/scripts/coccinelle/api/memdup_user.cocci
> @@ -27,34 +27,22 @@ expression from,to,size;
> identifier l1,l2;
> position p : script:python() { relevant(p) };
> @@
> -
> -- to = \(kmalloc@p\|kzalloc@p\)
> -- (size,\(GFP_KERNEL\|GFP_USER\|
> -- \(GFP_KERNEL\|GFP_USER\)|__GFP_NOWARN\));
> -+ to = memdup_user(from,size);
> - if (
> -- to==NULL
> -+ IS_ERR(to)
> - || ...) {
> - <+... when != goto l1;
> -- -ENOMEM
> -+ PTR_ERR(to)
> - ...+>
> - }
> -- if (copy_from_user(to, from, size) != 0) {
> -- <+... when != goto l2;
> -- -EFAULT
> -- ...+>
> -- }
> -
> -@...ends on patch@
> -expression from,to,size;
> -identifier l1,l2;
> -position p : script:python() { relevant(p) };
> -@@
> -
> -- to = \(kvmalloc@p\|kvzalloc@p\)(size,\(GFP_KERNEL\|GFP_USER\));
> -+ to = vmemdup_user(from,size);
> + to =
> +(
> +- \(kmalloc@p\|kzalloc@p\)
> ++ memdup_user
> + (
> +- size, \( \(GFP_KERNEL\|GFP_USER\) \| \(GFP_KERNEL\|GFP_USER\)|__GFP_NOWARN \)
> ++ from, size
> + )
> +|
> +- \(kvmalloc@p\|kvzalloc@p\)
> ++ vmemdup_user
> + (
> +- size, \(GFP_KERNEL\|GFP_USER\)
> ++ from, size
> + )
> +);
> if (
> - to==NULL
> + IS_ERR(to)
> --
> 2.28.0
>
>
Powered by blists - more mailing lists