[Cocci] [PATCH] coccinelle: flags.cocci: reorganize patterns to improve efficiency

Masahiro Yamada yamada.masahiro at socionext.com
Wed Nov 15 16:26:17 CET 2017


Hi Julia,


2017-11-15 23:51 GMT+09:00 Julia Lawall <julia.lawall at lip6.fr>:
>
>
> On Wed, 15 Nov 2017, Masahiro Yamada wrote:
>
>> Hi Julia,
>>
>>
>> 2017-11-13 1:08 GMT+09:00 Julia Lawall <julia.lawall at lip6.fr>:
>> > An initial rule just matching a function call makes it possible to focus
>> > on one all at a time, which improves performance in complex functions with
>> > multiple locking calls.  Using a constraint expression lock2 != pre.lock1;
>> > makes it possible to eliminate the double matching of the lock, lock
>> > sequence.
>> >
>> > Signed-off-by: Julia Lawall <julia.lawall at lip6.fr>
>>
>>
>> If I apply this patch, locks/flags.cocci does not work for me.
>>
>>
>> $ make coccicheck COCCI=scripts/coccinelle/locks/flags.cocci
>> MODE=report  DEBUG_FILE=log.txt
>>
>> Please check for false positives in the output before submitting a patch.
>> When using "patch" mode, carefully review the patch before submitting it.
>>
>> 607 610
>> coccicheck failed
>> $ cat  log.txt
>> /usr/bin/spatch -D report --no-show-diff --very-quiet --cocci-file
>> scripts/coccinelle/locks/flags.cocci --no-includes --include-headers
>> --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 8
>> --chunksize 1
>> Fatal error: exception Failure("meta: parse error: \n = File
>> \"scripts/coccinelle/locks/flags.cocci\", line 29, column 20,  charpos
>> = 607\n    around = 'pre', whole content = expression lock2 !=
>> pre.lock1;\n")
>>
>>
>>
>> Could you check it?
>
> What version of Coccinelle do you have?


I tried 1.0.4 and 1.0.6,
but both failed.


(1.0.4 is distribution version (/usr/bin/spatch) on Ubuntu 16.04LTS



The output from 1.0.6 is a bit more readable,
but the content is the same.


meta: parse error:
  File "scripts/coccinelle/locks/flags.cocci", line 29, column 20, charpos = 607
  around = 'pre',
  whole content = expression lock2 != pre.lock1;



-- 
Best Regards
Masahiro Yamada


More information about the Cocci mailing list