* Re: [PATCH v3 3/3] coccinelle: api: filter out memdup_user definitions
@ 2020-07-21 10:32 Markus Elfring
0 siblings, 0 replies; 2+ messages in thread
From: Markus Elfring @ 2020-07-21 10:32 UTC (permalink / raw)
To: Denis Efremov, Coccinelle, Gilles Muller, Julia Lawall,
Masahiro Yamada, Michal Marek, Nicolas Palix
Cc: linux-kernel, kernel-janitors
> Don't match memdup_user/vmemdup_user.
I find such a change description insufficient.
Regards,
Markus
^ permalink raw reply [flat|nested] 2+ messages in thread* [PATCH v3 0/3] Update memdup_user.cocci @ 2020-07-20 16:22 Denis Efremov 2020-07-20 16:22 ` [PATCH v3 3/3] coccinelle: api: filter out memdup_user definitions Denis Efremov 0 siblings, 1 reply; 2+ messages in thread From: Denis Efremov @ 2020-07-20 16:22 UTC (permalink / raw) To: Julia Lawall; +Cc: Denis Efremov, cocci, linux-kernel Add GFP_USER to the allocation flags and handle vmemdup_user(). Changes in v2: - memdup_user/vmemdup_user matching suppressed - PoC for selfcheck virtual rule Changes in v3: - add missing '-' for patch rule in kmalloc/kzalloc call args - selfcheck rule dropped from patchset Denis Efremov (3): coccinelle: api: extend memdup_user transformation with GFP_USER coccinelle: api: extend memdup_user rule with vmemdup_user() coccinelle: api: filter out memdup_user definitions scripts/coccinelle/api/memdup_user.cocci | 64 ++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 3 deletions(-) -- 2.26.2 ^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH v3 3/3] coccinelle: api: filter out memdup_user definitions 2020-07-20 16:22 [PATCH v3 0/3] Update memdup_user.cocci Denis Efremov @ 2020-07-20 16:22 ` Denis Efremov 0 siblings, 0 replies; 2+ messages in thread From: Denis Efremov @ 2020-07-20 16:22 UTC (permalink / raw) To: Julia Lawall; +Cc: Denis Efremov, cocci, linux-kernel Don't match memdup_user/vmemdup_user. Signed-off-by: Denis Efremov <efremov@linux.com> --- scripts/coccinelle/api/memdup_user.cocci | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/coccinelle/api/memdup_user.cocci b/scripts/coccinelle/api/memdup_user.cocci index 60027e21c5e6..e01e95108405 100644 --- a/scripts/coccinelle/api/memdup_user.cocci +++ b/scripts/coccinelle/api/memdup_user.cocci @@ -15,12 +15,20 @@ virtual context virtual org virtual report +@initialize:python@ +@@ +filter = frozenset(['memdup_user', 'vmemdup_user']) + +def relevant(p): + return not (filter & {el.current_element for el in p}) + @depends on patch@ expression from,to,size; identifier l1,l2; +position p : script:python() { relevant(p) }; @@ -- to = \(kmalloc\|kzalloc\) +- to = \(kmalloc@p\|kzalloc@p\) - (size,\(GFP_KERNEL\|GFP_USER\| - \(GFP_KERNEL\|GFP_USER\)|__GFP_NOWARN\)); + to = memdup_user(from,size); @@ -42,9 +50,10 @@ identifier l1,l2; @depends on patch@ expression from,to,size; identifier l1,l2; +position p : script:python() { relevant(p) }; @@ -- to = \(kvmalloc\|kvzalloc\)(size,\(GFP_KERNEL\|GFP_USER\)); +- to = \(kvmalloc@p\|kvzalloc@p\)(size,\(GFP_KERNEL\|GFP_USER\)); + to = vmemdup_user(from,size); if ( - to==NULL @@ -63,7 +72,7 @@ identifier l1,l2; @r depends on !patch@ expression from,to,size; -position p; +position p : script:python() { relevant(p) }; statement S1,S2; @@ @@ -76,7 +85,7 @@ statement S1,S2; @rv depends on !patch@ expression from,to,size; -position p; +position p : script:python() { relevant(p) }; statement S1,S2; @@ -- 2.26.2 ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-07-21 10:32 UTC | newest] Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-07-21 10:32 [PATCH v3 3/3] coccinelle: api: filter out memdup_user definitions Markus Elfring -- strict thread matches above, loose matches on Subject: below -- 2020-07-20 16:22 [PATCH v3 0/3] Update memdup_user.cocci Denis Efremov 2020-07-20 16:22 ` [PATCH v3 3/3] coccinelle: api: filter out memdup_user definitions Denis Efremov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®