From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
To: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
Fan Ni <fan.ni@samsung.com>, Michael Tsirkin <mst@redhat.com>
Cc: "Ira Weiny" <ira.weiny@intel.com>,
"Huai-Cheng Kuo" <hchkuo@avery-design.com.tw>,
"Dave Jiang" <dave.jiang@intel.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Davidlohr Bueso" <dave@stgolabs.net>,
"Hyeonggon Yoo" <42.hyeyoo@gmail.com>,
"Li Zhijian" <lizhijian@fujitsu.com>,
"Stefan Hajnoczi" <stefanha@gmail.com>,
linuxarm@huawei.com, "Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH 01/12] cxl/cdat: Handle cdat table build errors
Date: Wed, 24 Jan 2024 12:40:49 +0000 [thread overview]
Message-ID: <20240124124100.8218-2-Jonathan.Cameron@huawei.com> (raw)
In-Reply-To: <20240124124100.8218-1-Jonathan.Cameron@huawei.com>
From: Ira Weiny <ira.weiny@intel.com>
The callback for building CDAT tables may return negative error codes.
This was previously unhandled and will result in potentially huge
allocations later on in ct3_build_cdat()
Detect the negative error code and defer cdat building.
Fixes: f5ee7413d592 ("hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange")
Cc: Huai-Cheng Kuo <hchkuo@avery-design.com.tw>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
hw/cxl/cxl-cdat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/cxl/cxl-cdat.c b/hw/cxl/cxl-cdat.c
index 639a2db3e1..24829cf242 100644
--- a/hw/cxl/cxl-cdat.c
+++ b/hw/cxl/cxl-cdat.c
@@ -63,7 +63,7 @@ static void ct3_build_cdat(CDATObject *cdat, Error **errp)
cdat->built_buf_len = cdat->build_cdat_table(&cdat->built_buf,
cdat->private);
- if (!cdat->built_buf_len) {
+ if (cdat->built_buf_len <= 0) {
/* Build later as not all data available yet */
cdat->to_update = true;
return;
--
2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: <qemu-devel@nongnu.org>, <linux-cxl@vger.kernel.org>,
Fan Ni <fan.ni@samsung.com>, Michael Tsirkin <mst@redhat.com>
Cc: "Ira Weiny" <ira.weiny@intel.com>,
"Huai-Cheng Kuo" <hchkuo@avery-design.com.tw>,
"Dave Jiang" <dave.jiang@intel.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Davidlohr Bueso" <dave@stgolabs.net>,
"Hyeonggon Yoo" <42.hyeyoo@gmail.com>,
"Li Zhijian" <lizhijian@fujitsu.com>,
"Stefan Hajnoczi" <stefanha@gmail.com>,
linuxarm@huawei.com, "Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH 01/12] cxl/cdat: Handle cdat table build errors
Date: Wed, 24 Jan 2024 12:40:49 +0000 [thread overview]
Message-ID: <20240124124100.8218-2-Jonathan.Cameron@huawei.com> (raw)
In-Reply-To: <20240124124100.8218-1-Jonathan.Cameron@huawei.com>
From: Ira Weiny <ira.weiny@intel.com>
The callback for building CDAT tables may return negative error codes.
This was previously unhandled and will result in potentially huge
allocations later on in ct3_build_cdat()
Detect the negative error code and defer cdat building.
Fixes: f5ee7413d592 ("hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange")
Cc: Huai-Cheng Kuo <hchkuo@avery-design.com.tw>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
hw/cxl/cxl-cdat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/cxl/cxl-cdat.c b/hw/cxl/cxl-cdat.c
index 639a2db3e1..24829cf242 100644
--- a/hw/cxl/cxl-cdat.c
+++ b/hw/cxl/cxl-cdat.c
@@ -63,7 +63,7 @@ static void ct3_build_cdat(CDATObject *cdat, Error **errp)
cdat->built_buf_len = cdat->build_cdat_table(&cdat->built_buf,
cdat->private);
- if (!cdat->built_buf_len) {
+ if (cdat->built_buf_len <= 0) {
/* Build later as not all data available yet */
cdat->to_update = true;
return;
--
2.39.2
next prev parent reply other threads:[~2024-01-24 12:41 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 12:40 [PATCH 00/12 qemu] CXL emulation fixes and minor cleanup Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 12:40 ` Jonathan Cameron [this message]
2024-01-24 12:40 ` [PATCH 01/12] cxl/cdat: Handle cdat table build errors Jonathan Cameron via
2024-01-24 21:04 ` fan
2024-01-24 12:40 ` [PATCH 02/12] hw/mem/cxl_type3: Drop handling of failure of g_malloc0() Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 21:10 ` fan
2024-01-24 12:40 ` [PATCH 03/12] hw/pci-bridge/cxl_upstream: Drop g_malloc0() failure handling Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 21:11 ` fan
2024-01-24 12:40 ` [PATCH 04/12] cxl/cdat: Fix header sum value in CDAT checksum Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 12:40 ` [PATCH 05/12] hw/cxl/mbox: Remove dead code Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 23:41 ` fan
2024-01-24 12:40 ` [PATCH 06/12] hw/cxl/device: read from register values in mdev_reg_read() Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 12:40 ` [PATCH 07/12] hw/cxl: Pass CXLComponentState to cache_mem_ops Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 23:46 ` fan
2024-01-24 12:40 ` [PATCH 08/12] hw/cxl: Pass NULL for a NULL MemoryRegionOps Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 23:51 ` fan
2024-01-24 12:40 ` [PATCH 09/12] hw/mem/cxl_type3: Fix potential divide by zero reported by coverity Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 23:53 ` fan
2024-01-26 11:57 ` Jonathan Cameron
2024-01-26 11:57 ` Jonathan Cameron via
2024-01-24 12:40 ` [PATCH 10/12] tests/acpi: Allow update of DSDT.cxl Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 12:40 ` [PATCH 11/12] hw/i386: Fix _STA return value for ACPI0017 Jonathan Cameron
2024-01-24 12:40 ` Jonathan Cameron via
2024-01-24 12:41 ` [PATCH 12/12] tests/acpi: Update DSDT.cxl to reflect change _STA return value Jonathan Cameron
2024-01-24 12:41 ` Jonathan Cameron 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=20240124124100.8218-2-Jonathan.Cameron@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=42.hyeyoo@gmail.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=fan.ni@samsung.com \
--cc=hchkuo@avery-design.com.tw \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lizhijian@fujitsu.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.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.