[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191001125742.GD90796@google.com>
Date: Tue, 1 Oct 2019 13:57:42 +0100
From: Matthias Maennich <maennich@...gle.com>
To: Yuehaibing <yuehaibing@...wei.com>
Cc: Julia Lawall <julia.lawall@...6.fr>,
Gilles Muller <Gilles.Muller@...6.fr>, nicolas.palix@...g.fr,
michal.lkml@...kovi.net, gregkh@...uxfoundation.org,
linux-kernel@...r.kernel.org, cocci@...teme.lip6.fr
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
Powered by blists - more mailing lists