Messages in this thread | | | Date | Tue, 1 Oct 2019 13:57:42 +0100 | From | Matthias Maennich <> | Subject | Re: [RFC PATCH] scripts: Fix coccicheck failed |
| |
Hi Yuehaibing!
On Mon, Sep 30, 2019 at 10:32:18AM +0800, Yuehaibing wrote: >On 2019/9/30 0:32, Julia Lawall wrote: >> >> >> On Sun, 29 Sep 2019, Yuehaibing wrote: >> >>> On 2019/9/28 20:43, Julia Lawall wrote: >>>> >>>> >>>> On Sat, 28 Sep 2019, YueHaibing wrote: >>>> >>>>> Run make coccicheck, I got this: >>>>> >>>>> spatch -D patch --no-show-diff --very-quiet --cocci-file >>>>> ./scripts/coccinelle/misc/add_namespace.cocci --dir . >>>>> -I ./arch/x86/include -I ./arch/x86/include/generated >>>>> -I ./include -I ./arch/x86/include/uapi >>>>> -I ./arch/x86/include/generated/uapi -I ./include/uapi >>>>> -I ./include/generated/uapi --include ./include/linux/kconfig.h >>>>> --jobs 192 --chunksize 1 >>>>> >>>>> virtual rule patch not supported >>>>> coccicheck failed >>>>> >>>>> It seems add_namespace.cocci cannot be called in coccicheck. >>>> >>>> Could you explain the issue better? Does the current state cause make >>>> coccicheck to fail? Or is it just silently not being called? >>> >>> Yes, it cause make coccicheck failed like this: >>> >>> ... >>> ./drivers/xen/xenbus/xenbus_comms.c:290:2-8: preceding lock on line 243 >>> ./fs/fuse/dev.c:1227:2-8: preceding lock on line 1206 >>> ./fs/fuse/dev.c:1232:3-9: preceding lock on line 1206 >>> coccicheck failed >>> make[1]: *** [coccicheck] Error 255 >>> make: *** [sub-make] Error 2 >> >> Could you set the verbose options to see what the problem is? Maybe the >> problem would be solved by putting virtual report at the top of the rule. >> But it might still fail because nothing can happen without a value for the >> virtual metavariable ns. > >diff --git a/scripts/coccinelle/misc/add_namespace.cocci b/scripts/coccinelle/misc/add_namespace.cocci >index c832bb6445a8..99e93a6c2e24 100644 >--- a/scripts/coccinelle/misc/add_namespace.cocci >+++ b/scripts/coccinelle/misc/add_namespace.cocci >@@ -6,6 +6,8 @@ > /// add a missing namespace tag to a module source file. > /// > >+virtual report >+ > @has_ns_import@ > declarer name MODULE_IMPORT_NS; > identifier virtual.ns; > > > >Adding virtual report make the coccicheck go ahead smoothly.
Thanks for reporting and following up with this issue. I certainly did not expect all scripts in scripts/coccinelle to be automatically called by coccicheck and I still think scripts/coccinelle is the right location for add_namespace.cocci.
I guess, others might better understand the implications of your two lines fix above, but it looks good to me to address the problem.
Thanks!
>> >> Should the coccinelle directory be only for things that work with make >> coccicheck, or for all Coccinelle scripts?
At least I was not expecting this behaviour. Though scripts/ hosts scripts of various languages, I still think putting all coccinelle scripts in scripts/coccinelle sounds sensible.
>> >> julia >> >> . >> >
Cheers, Matthias
| |