[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 09/12] hw/mem/cxl_type3: Fix potential divide by zero reported
|
From: |
Jonathan Cameron |
|
Subject: |
[PATCH v2 09/12] hw/mem/cxl_type3: Fix potential divide by zero reported by coverity |
|
Date: |
Fri, 26 Jan 2024 12:01:29 +0000 |
Fixes Coverity ID 1522368.
Currently error_fatal is set if interleave_ways_dec() is going to return 0
but we should handle that zero return explicitly.
Reported-by: Stefan Hajnoczi <stefanha@gmail.com>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
Note this is a stop gap until a more complex HDM decoder verification series.
---
hw/mem/cxl_type3.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c
index 1b92a065a3..71fcb44613 100644
--- a/hw/mem/cxl_type3.c
+++ b/hw/mem/cxl_type3.c
@@ -794,8 +794,13 @@ static bool cxl_type3_dpa(CXLType3Dev *ct3d, hwaddr
host_addr, uint64_t *dpa)
}
if (((uint64_t)host_addr < decoder_base) ||
(hpa_offset >= decoder_size)) {
- dpa_base += decoder_size /
- cxl_interleave_ways_dec(iw, &error_fatal);
+ int decoded_iw = cxl_interleave_ways_dec(iw, &error_fatal);
+
+ if (decoded_iw == 0) {
+ return false;
+ }
+
+ dpa_base += decoder_size / decoded_iw;
continue;
}
--
2.39.2
- [PATCH v2 00/12 qemu] CXL emulation fixes and minor cleanup., Jonathan Cameron, 2024/01/26
- [PATCH v2 01/12] cxl/cdat: Handle cdat table build errors, Jonathan Cameron, 2024/01/26
- [PATCH v2 03/12] hw/pci-bridge/cxl_upstream: Drop g_malloc() failure handling, Jonathan Cameron, 2024/01/26
- [PATCH v2 02/12] hw/mem/cxl_type3: Drop handling of failure of g_malloc0() and g_malloc(), Jonathan Cameron, 2024/01/26
- [PATCH v2 04/12] cxl/cdat: Fix header sum value in CDAT checksum, Jonathan Cameron, 2024/01/26
- [PATCH v2 05/12] hw/cxl/mbox: Remove dead code, Jonathan Cameron, 2024/01/26
- [PATCH v2 06/12] hw/cxl/device: read from register values in mdev_reg_read(), Jonathan Cameron, 2024/01/26
- [PATCH v2 07/12] hw/cxl: Pass CXLComponentState to cache_mem_ops, Jonathan Cameron, 2024/01/26
- [PATCH v2 08/12] hw/cxl: Pass NULL for a NULL MemoryRegionOps, Jonathan Cameron, 2024/01/26
- [PATCH v2 09/12] hw/mem/cxl_type3: Fix potential divide by zero reported by coverity,
Jonathan Cameron <=
- [PATCH v2 10/12] tests/acpi: Allow update of DSDT.cxl, Jonathan Cameron, 2024/01/26
- [PATCH v2 11/12] hw/i386: Fix _STA return value for ACPI0017, Jonathan Cameron, 2024/01/26
- [PATCH v2 12/12] tests/acpi: Update DSDT.cxl to reflect change _STA return value., Jonathan Cameron, 2024/01/26