From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: "Xingtao Yao (Fujitsu)" <yaoxt.fnst@fujitsu.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [PATCH 00/13] make range overlap check more readable
Date: Mon, 22 Jul 2024 09:37:10 +0200 [thread overview]
Message-ID: <3d5d891c-7e8b-4b13-8fe2-c30c5d2223e1@linaro.org> (raw)
In-Reply-To: <OSZPR01MB64531A7E8576610BDD603D3A8DA82@OSZPR01MB6453.jpnprd01.prod.outlook.com>
On 22/7/24 08:59, Xingtao Yao (Fujitsu) wrote:
>
>
>> -----Original Message-----
>> From: Philippe Mathieu-Daudé <philmd@linaro.org>
>> Sent: Monday, July 22, 2024 2:43 PM
>> To: Yao, Xingtao/姚 幸涛 <yaoxt.fnst@fujitsu.com>; qemu-devel@nongnu.org
>> Subject: Re: [PATCH 00/13] make range overlap check more readable
>>
>> Hi Yao,
>>
>> On 22/7/24 06:07, Yao Xingtao via wrote:
>>> Currently, some components still open-coding the range overlap check.
>>> Sometimes this check may be fail because some patterns are missed.
>>
>> How did you catch all these use cases?
> I used the Coccinelle to match these use cases, the pattern is below
> range_overlap.cocci:
>
> // use ranges_overlap() instead of open-coding the overlap check
> @@
> expression E1, E2, E3, E4;
> @@
> (
> - E2 <= E3 || E1 >= E4
> + !ranges_overlap(E1, E2, E3, E4)
> |
>
> - (E2 <= E3) || (E1 >= E4)
> + !ranges_overlap(E1, E2, E3, E4)
> |
>
> - E1 < E4 && E2 > E3
> + ranges_overlap(E1, E2, E3, E4)
> |
>
> - (E1 < E4) && (E2 > E3)
> + ranges_overlap(E1, E2, E3, E4)
> |
>
> - (E1 >= E3 && E1 < E4) || (E2 > E3 && E2 <= E4)
> + ranges_overlap(E1, E2, E3, E4)
>
> |
> - ((E1 >= E3) && (E1 < E4)) || ((E2 > E3) && (E2 <= E4))
> + ranges_overlap(E1, E2, E3, E4)
> )
Please add to scripts/coccinelle/range.cocci.
>
> then execute the command:
> # spatch --macro-file scripts/cocci-macro-file.h --sp-file range_overlap.cocci --keep-comments --in-place --use-gitgrep --dir .
>
> but some of the matched cases are not valid and need to be
> manually judged.
>
> there may be cases that have not been matched yet.
next prev parent reply other threads:[~2024-07-22 7:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-22 4:07 [PATCH 00/13] make range overlap check more readable Yao Xingtao via
2024-07-22 4:07 ` [PATCH 01/13] range: Make ranges_overlap() return bool Yao Xingtao via
2024-07-22 6:54 ` Philippe Mathieu-Daudé
2024-07-22 4:07 ` [PATCH 02/13] arm/boot: make range overlap check more readable Yao Xingtao via
2024-07-22 6:54 ` Philippe Mathieu-Daudé
2024-07-22 4:07 ` [PATCH 03/13] core/loader: " Yao Xingtao via
2024-07-22 4:07 ` [PATCH 04/13] cxl/mailbox: " Yao Xingtao via
2024-07-22 6:56 ` Philippe Mathieu-Daudé
2024-07-22 4:07 ` [PATCH 05/13] display/sm501: " Yao Xingtao via
2024-07-22 4:07 ` [PATCH 06/13] aspeed_smc: " Yao Xingtao via
2024-07-22 7:11 ` Philippe Mathieu-Daudé
2024-07-22 4:07 ` [PATCH 07/13] qtest/fuzz: " Yao Xingtao via
2024-07-22 5:03 ` Alexander Bulekov
2024-07-22 7:10 ` Philippe Mathieu-Daudé
2024-07-22 4:07 ` [PATCH 08/13] sparc/ldst_helper: " Yao Xingtao via
2024-07-22 12:18 ` Philippe Mathieu-Daudé
2024-07-22 4:07 ` [PATCH 09/13] system/memory_mapping: " Yao Xingtao via
2024-07-22 7:21 ` Philippe Mathieu-Daudé
2024-07-22 9:13 ` David Hildenbrand
2024-07-22 4:07 ` [PATCH 10/13] block/vhdx: " Yao Xingtao via
2024-07-22 4:07 ` [PATCH 11/13] crypto/block-luks: " Yao Xingtao via
2024-07-22 7:13 ` Philippe Mathieu-Daudé
2024-07-22 7:57 ` Daniel P. Berrangé
2024-07-22 4:07 ` [PATCH 12/13] dump: " Yao Xingtao via
2024-07-22 7:01 ` Marc-André Lureau
2024-07-22 4:07 ` [PATCH 13/13] block/qcow2-cluster: " Yao Xingtao via
2024-08-20 3:15 ` Xingtao Yao (Fujitsu) via
2024-07-22 6:42 ` [PATCH 00/13] " Philippe Mathieu-Daudé
2024-07-22 6:59 ` Xingtao Yao (Fujitsu) via
2024-07-22 7:37 ` Philippe Mathieu-Daudé [this message]
2024-07-22 7:40 ` Xingtao Yao (Fujitsu) via
2024-09-07 5:50 ` Philippe Mathieu-Daudé
2024-07-25 15:13 ` Peter Maydell
2024-07-26 0:16 ` Xingtao Yao (Fujitsu) via
2024-07-26 9:37 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3d5d891c-7e8b-4b13-8fe2-c30c5d2223e1@linaro.org \
--to=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=yaoxt.fnst@fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).