[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-7.2.10 11/33] cxl/cdat: Handle cdat table build errors
From: |
Michael Tokarev |
Subject: |
[Stable-7.2.10 11/33] cxl/cdat: Handle cdat table build errors |
Date: |
Thu, 22 Feb 2024 00:46:54 +0300 |
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>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240126120132.24248-2-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit c62926f730d08450502d36548e28dd727c998ace)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
diff --git a/hw/cxl/cxl-cdat.c b/hw/cxl/cxl-cdat.c
index 3653aa56f0..931693f02d 100644
--- a/hw/cxl/cxl-cdat.c
+++ b/hw/cxl/cxl-cdat.c
@@ -62,7 +62,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
- [Stable-7.2.10 v0 00/33] Patch Round-up for stable 7.2.10, freeze on 2024-03-02, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 01/33] migration: Fix use-after-free of migration state object, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 02/33] qemu-docs: Update options for graphical frontends, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 03/33] block/blkio: Make s->mem_region_alignment be 64 bits, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 04/33] target/arm: fix exception syndrome for AArch32 bkpt insn, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 06/33] qemu-options.hx: Improve -serial option documentation, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 05/33] system/vl.c: Fix handling of '-serial none -serial something', Michael Tokarev, 2024/02/21
- [Stable-7.2.10 07/33] pci-host: designware: Limit value range of iATU viewport register, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 08/33] hw/smbios: Fix OEM strings table option validation, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 09/33] hw/smbios: Fix port connector option validation, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 11/33] cxl/cdat: Handle cdat table build errors,
Michael Tokarev <=
- [Stable-7.2.10 10/33] vhost-user.rst: Fix vring address description, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 12/33] cxl/cdat: Fix header sum value in CDAT checksum, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 13/33] hw/cxl: Pass CXLComponentState to cache_mem_ops, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 15/33] smmu: Clear SMMUPciBus pointer cache when system reset, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 16/33] tests/acpi: Allow update of DSDT.cxl, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 17/33] hw/i386: Fix _STA return value for ACPI0017, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 14/33] virtio_iommu: Clear IOMMUPciBus pointer cache when system reset, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 18/33] tests/acpi: Update DSDT.cxl to reflect change _STA return value., Michael Tokarev, 2024/02/21
- [Stable-7.2.10 19/33] linux-user/aarch64: Choose SYNC as the preferred MTE mode, Michael Tokarev, 2024/02/21
- [Stable-7.2.10 20/33] target/arm: Fix nregs computation in do_{ld, st}_zpa, Michael Tokarev, 2024/02/21