From: Markus Elfring <[email protected]>
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.
* Increase the precision a bit for desired source code adjustments.
Fixes: 9c568dbd677bcfc975220d3157c89c48669a23e3 ("coccinelle: api: extend
memdup_user rule with vmemdup_user()")
Signed-off-by: Markus Elfring <[email protected]>
---
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
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci