On Sun, 9 Aug 2020, Markus Elfring wrote: > From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> > 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@xxxxxxxxxxxxxxxxxxxxx> > --- > 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 > -- ...+> > -- } > - > -@depends 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 > >