lkml.org 
[lkml]   [2019]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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

\
 
 \ /
  Last update: 2019-10-01 14:58    [W:0.555 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site