lkml.org 
[lkml]   [2020]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/2] Coccinelle: extend memdup_user rule with vmemdup_user()
From
Date
> Add vmemdup_user() transformations to the memdup_user.cocci rule.
> Commit 50fd2f298bef ("new primitive: vmemdup_user()") introduced
> vmemdup_user(). The function uses kvmalloc with GPF_USER flag.

Such a software evolution is also interesting.


> +@depends on patch@


> +- to = \(kvmalloc\|kvzalloc\)(size,\(GFP_KERNEL\|GFP_USER\));
> ++ to = vmemdup_user(from,size);

How do you think about to achieve the desired data processing by the application
of a SmPL disjunction like the following?

to =
(
- \( kmalloc \| kzalloc \) (size, \( GFP_KERNEL \| GFP_USER \))
+ memdup_user(from, size)
|
- \( kvmalloc \| kvzalloc \) (size, \( GFP_KERNEL \| GFP_USER \))
+ vmemdup_user(from, size)
)
;


Unfortunately, the Coccinelle software does not like the following
SmPL code variant so far.

to =
(
- \( kmalloc \| kzalloc \)
+ memdup_user
|
- \( kvmalloc \| kvzalloc \)
+ vmemdup_user
)
(
- size, \( GFP_KERNEL \| GFP_USER \)
+ from, size
);


Message:
25: no available token to attach to


Regards,
Markus

\
 
 \ /
  Last update: 2020-05-31 20:45    [W:0.061 / U:9.828 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site