[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/55] hw/intc: Check @errp to handle the error of IOAPICCommonCla
From: |
Thomas Huth |
Subject: |
[PULL 06/55] hw/intc: Check @errp to handle the error of IOAPICCommonClass.realize() |
Date: |
Tue, 12 Mar 2024 13:42:50 +0100 |
From: Zhao Liu <zhao1.liu@intel.com>
IOAPICCommonClass implements its own private realize(), and this private
realize() allows error.
Since IOAPICCommonClass.realize() returns void, to check the error,
dereference @errp with ERRP_GUARD().
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240223085653.1255438-8-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/intc/ioapic_common.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/intc/ioapic_common.c b/hw/intc/ioapic_common.c
index cb9bf62146..efbe6958c8 100644
--- a/hw/intc/ioapic_common.c
+++ b/hw/intc/ioapic_common.c
@@ -152,6 +152,7 @@ static int ioapic_dispatch_post_load(void *opaque, int
version_id)
static void ioapic_common_realize(DeviceState *dev, Error **errp)
{
+ ERRP_GUARD();
IOAPICCommonState *s = IOAPIC_COMMON(dev);
IOAPICCommonClass *info;
@@ -162,6 +163,9 @@ static void ioapic_common_realize(DeviceState *dev, Error
**errp)
info = IOAPIC_COMMON_GET_CLASS(s);
info->realize(dev, errp);
+ if (*errp) {
+ return;
+ }
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->io_memory);
ioapic_no++;
--
2.44.0
- [PULL 00/55] Misc ERRP_GUARD() and cpu_env() patches, Thomas Huth, 2024/03/12
- [PULL 01/55] hw/cxl/cxl-host: Fix missing ERRP_GUARD() in cxl_fixed_memory_window_config(), Thomas Huth, 2024/03/12
- [PULL 06/55] hw/intc: Check @errp to handle the error of IOAPICCommonClass.realize(),
Thomas Huth <=
- [PULL 03/55] hw/mem/cxl_type3: Fix missing ERRP_GUARD() in ct3_realize(), Thomas Huth, 2024/03/12
- [PULL 04/55] hw/misc/xlnx-versal-trng: Check returned bool in trng_prop_fault_event_set(), Thomas Huth, 2024/03/12
- [PULL 07/55] error: Add error_vprepend() in comment of ERRP_GUARD() rules, Thomas Huth, 2024/03/12
- [PULL 08/55] backends/iommufd: Fix missing ERRP_GUARD() for error_prepend(), Thomas Huth, 2024/03/12
- [PULL 05/55] hw/pci-bridge/cxl_upstream: Fix missing ERRP_GUARD() in cxl_usp_realize(), Thomas Huth, 2024/03/12
- [PULL 09/55] block: Fix missing ERRP_GUARD() for error_prepend(), Thomas Huth, 2024/03/12
- [PULL 11/55] block/nbd: Fix missing ERRP_GUARD() for error_prepend(), Thomas Huth, 2024/03/12
- [PULL 12/55] block/nvme: Fix missing ERRP_GUARD() for error_prepend(), Thomas Huth, 2024/03/12
- [PULL 02/55] hw/display/macfb: Fix missing ERRP_GUARD() in macfb_nubus_realize(), Thomas Huth, 2024/03/12
- [PULL 10/55] block/copy-before-write: Fix missing ERRP_GUARD() for error_prepend(), Thomas Huth, 2024/03/12