From: Fan Ni <fan.ni@samsung.com>
To: Yao Xingtao <yaoxt.fnst@fujitsu.com>
Cc: "jonathan.cameron@huawei.com" <jonathan.cameron@huawei.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [PATCH] mem/cxl_type3: Fix overlapping region validation error
Date: Thu, 18 Jul 2024 17:34:02 +0000 [thread overview]
Message-ID: <20240718173356.GA1629099@sjcvldevvm72> (raw)
In-Reply-To: <20240718090753.59163-1-yaoxt.fnst@fujitsu.com>
On Thu, Jul 18, 2024 at 05:07:53AM -0400, Yao Xingtao wrote:
> <!DOCTYPE html><!-- BaNnErBlUrFlE-BoDy-start --><!-- Preheader Text : BEGIN --><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">
> When injecting a new poisoned region through qmp_cxl_inject_poison(), the newly injected region should not overlap with existing poisoned regions. The current validation method does not consider the following overlapping region: ┌───┬───────┬───┐
> </div>
> <!-- Preheader Text : END -->
>
> <!-- Email Banner : BEGIN -->
> <div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerStart</div>
>
> <!--[if ((ie)|(mso))]>
> <table border="0" cellspacing="0" cellpadding="0" width="100%" style="padding: 16px 0px 16px 0px; direction: ltr" ><tr><td>
> <table border="0" cellspacing="0" cellpadding="0" style="padding: 0px 10px 5px 6px; width: 100%; border-radius:4px; border-top:4px solid #f32323;background-color:#F07B7B;"><tr><td valign="top">
> <table align="left" border="0" cellspacing="0" cellpadding="0" style="padding: 4px 8px 4px 8px">
> <tr><td style="color:#000000; font-family: 'Arial', sans-serif; font-weight:bold; font-size:14px; direction: ltr">
> This Message Is From an External Sender
> </td></tr>
> <tr><td style="color:#000000; font-weight:normal; font-family: 'Arial', sans-serif; font-size:12px; direction: ltr">
> Use caution opening files, clicking links or responding to requests.
> </td></tr>
>
> </table>
>
> </td></tr></table>
> </td></tr></table>
> <![endif]-->
>
> <![if !((ie)|(mso))]>
> <div dir="ltr" id="pfptBannergkdcmiu" style="all: revert !important; display:block !important; text-align: left !important; margin:16px 0px 16px 0px !important; padding:8px 16px 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; background-color: #F07B7B !important; background-color: #F07B7B; border-top: 4px solid #f32323 !important; border-top: 4px solid #f32323;">
> <div id="pfptBannergkdcmiu" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
> <div id="pfptBannergkdcmiu" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #F07B7B !important; color:#000000 !important; color:#000000; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-weight:bold !important; font-weight:bold; font-size:14px !important; line-height:18px !important; line-height:18px">
> This Message Is From an External Sender
> </div>
> <div id="pfptBannergkdcmiu" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #F07B7B !important; color:#000000 !important; color:#000000; font-weight:normal; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-size:12px !important; line-height:18px !important; line-height:18px; margin-top:2px !important;">
> Use caution opening files, clicking links or responding to requests.
> </div>
>
> </div>
>
> <div style="clear: both !important; display: block !important; visibility: hidden !important; line-height: 0 !important; font-size: 0.01px !important; height: 0px"> </div>
> </div>
> <![endif]>
>
> <div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
> <!-- Email Banner : END -->
>
> <!-- BaNnErBlUrFlE-BoDy-end -->
> <html>
> <head><!-- BaNnErBlUrFlE-HeAdEr-start -->
> <style>
> #pfptBannergkdcmiu { all: revert !important; display: block !important;
> visibility: visible !important; opacity: 1 !important;
> background-color: #F07B7B !important;
> max-width: none !important; max-height: none !important }
> .pfptPrimaryButtongkdcmiu:hover, .pfptPrimaryButtongkdcmiu:focus {
> background-color: #ef5b5b !important; }
> .pfptPrimaryButtongkdcmiu:active {
> background-color: #f32323 !important; }
> </style>
>
> <!-- BaNnErBlUrFlE-HeAdEr-end -->
> </head><body><pre style="font-family: sans-serif; font-size: 100%; white-space: pre-wrap; word-wrap: break-word">When injecting a new poisoned region through qmp_cxl_inject_poison(),
> the newly injected region should not overlap with existing poisoned
> regions.
>
> The current validation method does not consider the following
> overlapping region:
> ┌───┬───────┬───┐
> │a │ b(a) │a │
> └───┴───────┴───┘
> (a is a newly added region, b is an existing region, and b is a
> subregion of a)
>
> Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com>
> ---
> hw/mem/cxl_type3.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c
> index 35ac59883a5b..8e32de327908 100644
> --- a/hw/mem/cxl_type3.c
> +++ b/hw/mem/cxl_type3.c
> @@ -1331,9 +1331,7 @@ void qmp_cxl_inject_poison(const char *path, uint64_t start, uint64_t length,
> ct3d = CXL_TYPE3(obj);
>
> QLIST_FOREACH(p, &ct3d->poison_list, node) {
> - if (((start >= p->start) && (start < p->start + p->length)) ||
> - ((start + length > p->start) &&
> - (start + length <= p->start + p->length))) {
> + if ((start < p->start + p->length) && (start + length > p->start)) {
> error_setg(errp,
> "Overlap with existing poisoned region not supported");
> return;
As mentioned by Peter, we can use ranges_overlap() to improve the
code readability. Other than that, looks good t me.
btw, not sure only me or not, but the message does not display
correctly in mutt, seems not a plain text message, but looks fine in
outlook.
Fan
> --
> 2.37.3
>
> </pre></body></html>
next prev parent reply other threads:[~2024-07-18 17:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20240718090810uscas1p17441e84b4594875648bf24e07549166f@uscas1p1.samsung.com>
2024-07-18 9:07 ` [PATCH] mem/cxl_type3: Fix overlapping region validation error Yao Xingtao via
2024-07-18 16:36 ` Jonathan Cameron via
2024-07-18 17:11 ` Peter Maydell
2024-07-19 0:50 ` Xingtao Yao (Fujitsu) via
2024-07-18 17:34 ` Fan Ni [this message]
2024-07-19 0:41 ` Xingtao Yao (Fujitsu) via
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=20240718173356.GA1629099@sjcvldevvm72 \
--to=fan.ni@samsung.com \
--cc=jonathan.cameron@huawei.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.