[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <af6e5dfd-3b39-4520-895e-a88a38c69ada@huawei.com>
Date: Tue, 10 Sep 2024 10:37:36 +0800
From: Hongbo Li <lihongbo22@...wei.com>
To: Julia Lawall <julia.lawall@...ia.fr>
CC: <kees@...nel.org>, <andy@...nel.org>, <nicolas.palix@...g.fr>,
<linux-hardening@...r.kernel.org>, <cocci@...ia.fr>
Subject: Re: [PATCH -next v2 1/9] coccinelle: Add rules to find
str_true_false() replacements
On 2024/9/10 10:23, Hongbo Li wrote:
>
>
> On 2024/9/10 0:00, Julia Lawall wrote:
>>
>>
>> On Wed, 4 Sep 2024, Hongbo Li wrote:
>>
>>> After str_true_false() has been introduced in the tree,
>>> we can add rules for finding places where str_true_false()
>>> can be used. A simple test can find over 10 locations.
>>>
>>> Signed-off-by: Hongbo Li <lihongbo22@...wei.com>
>>> ---
>>> scripts/coccinelle/api/string_choices.cocci | 23 +++++++++++++++++++++
>>> 1 file changed, 23 insertions(+)
>>>
>>> diff --git a/scripts/coccinelle/api/string_choices.cocci
>>> b/scripts/coccinelle/api/string_choices.cocci
>>> index 5e729f187f22..50329c4c8acd 100644
>>> --- a/scripts/coccinelle/api/string_choices.cocci
>>> +++ b/scripts/coccinelle/api/string_choices.cocci
>>> @@ -85,3 +85,26 @@ e << str_down_up_r.E;
>>> @@
>>>
>>> coccilib.report.print_report(p[0], "opportunity for
>>> str_down_up(%s)" % e)
>>> +
>>> +@..._true_false depends on patch@
>>> +expression E;
>>> +@@
>>> +(
>>
>> There is no need for the above. That is only needed if there is a
>> disjunction, ie a set of possible changes. Likewise no need for the ),
or, you mean the parentheses are unnecessary?
Thanks,
Hongbo
>> and the same in the next rule.
>
> Do you mean str_true_false_r is enough, not need for str_true_false? I
> noticed it was written this way before, so I've kept consistent with the
> previous writing style.
>
> Thanks,
> Hongbo
>
>>
>> julia
>>
>>> +- ((E) ? "true" : "false")
>>> ++ str_true_false(E)
>>> +)
>>> +
>>> +@..._true_false_r depends on !patch exists@
>>> +expression E;
>>> +position P;
>>> +@@
>>> +(
>>> +* ((E@P) ? "true" : "false")
>>> +)
>>> +
>>> +@...ipt:python depends on report@
>>> +p << str_true_false_r.P;
>>> +e << str_true_false_r.E;
>>> +@@
>>> +
>>> +coccilib.report.print_report(p[0], "opportunity for
>>> str_true_false(%s)" % e)
>>> --
>>> 2.34.1
>>>
>>>
Powered by blists - more mailing lists