[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <10e5207e-353e-4648-8e8d-6ee38d14907f@quicinc.com>
Date: Fri, 6 Jun 2025 13:33:23 +0800
From: Songwei Chai <quic_songchai@...cinc.com>
To: Nicolas Palix <nicolas.palix@...g.fr>,
Julia Lawall
<Julia.Lawall@...ia.fr>, <cocci@...ia.fr>
CC: <linux-kernel@...r.kernel.org>, <quic_tingweiz@...cinc.com>,
<quic_jinlmao@...cinc.com>
Subject: Re: [PATCH v1] scripts: coccicheck: filter *.cocci files by MODE
On 6/6/2025 1:43 AM, Nicolas Palix wrote:
> Hi Songwei,
>
> Le 05/06/2025 à 06:44, Songwei Chai a écrit :
>> Enhance the coccicheck script to filter *.cocci files based on the
>> specified MODE (e.g., report, patch). This ensures that only compatible
>> semantic patch files are executed, preventing errors such as:
>>
>> "virtual rule report not supported"
>>
>> This error occurs when a .cocci file does not define a 'virtual <MODE>'
>> rule, yet is executed in that mode.
>
> I am fine with the idea even if the orignal idea was to be exhaustive
> in the implementation of the mode in each SP.
>
> However, silently discarding the patch is maybe not what one would
> expect as the considered SP will vary according to the mode.
>
> Hence, could I suggest to add an else branch reporting a warning at
> least ?
>
> Regards,
Sure, will update patch with else branch reporting a warning.
>
>>
>> For example:
>>
>> make coccicheck M=drivers/hwtracing/coresight/ MODE=report
>>
>> In this case, running "secs_to_jiffies.cocci" would trigger the error
>> because it lacks support for 'report' mode. With this change, such files
>> are skipped automatically, improving robustness and developer
>> experience.
>>
>> Signed-off-by: Songwei Chai <quic_songchai@...cinc.com>
>> ---
>> scripts/coccicheck | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/coccicheck b/scripts/coccicheck
>> index 0e6bc5a10320..18a69edcea66 100755
>> --- a/scripts/coccicheck
>> +++ b/scripts/coccicheck
>> @@ -270,7 +270,9 @@ fi
>> if [ "$COCCI" = "" ] ; then
>> for f in `find $srctree/scripts/coccinelle/ -name '*.cocci'
>> -type f | sort`; do
>> - coccinelle $f
>> + if grep -q "virtual[[:space:]]\+$MODE" "$f"; then
>> + coccinelle $f
>> + fi
>> done
>> else
>> coccinelle $COCCI
>>
>
Powered by blists - more mailing lists