On Fri, 15 Oct 2010, Arnd Bergmann wrote:
> I was using the semantic patch below to verify that all file_operation in the
> kernel have a .llseek function by applying the patch and greppign for any
> file_operations that did not get renamed.
>
> For some reason, this no longer seems to work, possibly after I upgraded
> my system to a newer coccinelle version.
>
> Any idea what the problem is? Did it just work by accident before or is this
> supposed to work?
I did indeed change the handling of such structures. Do you have some
test data that shows the problem?
julia
> Arnd
>
> ---
> @ fops0 @
> identifier fops;
> @@
> struct file_operations fops = {
> ...
> };
>
> @ has_llseek depends on fops0 @
> identifier fops0.fops;
> identifier llseek_f;
> @@
> struct file_operations fops = {
> ...
> .llseek = llseek_f,
> ...
> };
>
> @ has_no_llseek depends on has_llseek @
> identifier fops0.fops;
> @@
> -struct file_operations fops = {
> +struct file_operations_ok fops = {
> ...
> };
>
> @@
> identifier fops1;
> @@
> -extern const struct file_operations fops1;
> +extern const struct file_operations_ok fops1;
>
> @@
> identifier fops2;
> @@
> -extern struct file_operations fops2;
> +extern struct file_operations_ok fops2;
>
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)