diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2016-09-21 17:48:39 +0200 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2016-10-01 23:03:09 +0200 |
commit | 43d96390d57aa0e61d15ce2bcb887df8516d58f5 (patch) | |
tree | ba3d86262a4c413d26982a117eb43b0cd185bfba /scripts | |
parent | 29b4817d4018df78086157ea3a55c1d9424a7cfc (diff) | |
download | lwn-43d96390d57aa0e61d15ce2bcb887df8516d58f5.tar.gz lwn-43d96390d57aa0e61d15ce2bcb887df8516d58f5.zip |
Coccinelle: limit memdup_user transformation to GFP_KERNEL case
Memdup_user encapsulates a memory allocation with the flag GFP_KERNEL, so
only allow this flag in the original code.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/coccinelle/api/memdup_user.cocci | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/scripts/coccinelle/api/memdup_user.cocci b/scripts/coccinelle/api/memdup_user.cocci index c606231b0e46..2a5aea8e8487 100644 --- a/scripts/coccinelle/api/memdup_user.cocci +++ b/scripts/coccinelle/api/memdup_user.cocci @@ -15,11 +15,11 @@ virtual org virtual report @depends on patch@ -expression from,to,size,flag; +expression from,to,size; identifier l1,l2; @@ -- to = \(kmalloc\|kzalloc\)(size,flag); +- to = \(kmalloc\|kzalloc\)(size,GFP_KERNEL); + to = memdup_user(from,size); if ( - to==NULL @@ -37,12 +37,12 @@ identifier l1,l2; - } @r depends on !patch@ -expression from,to,size,flag; +expression from,to,size; position p; statement S1,S2; @@ -* to = \(kmalloc@p\|kzalloc@p\)(size,flag); +* to = \(kmalloc@p\|kzalloc@p\)(size,GFP_KERNEL); if (to==NULL || ...) S1 if (copy_from_user(to, from, size) != 0) S2 |