qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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.



  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).