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>,
"Dave Jiang" <dave.jiang@intel.com>,
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 v2 02/12] hw/mem/cxl_type3: Drop handling of failure of g_malloc0() and g_malloc()
Date: Fri, 26 Jan 2024 12:01:22 +0000 [thread overview]
Message-ID: <20240126120132.24248-3-Jonathan.Cameron@huawei.com> (raw)
In-Reply-To: <20240126120132.24248-1-Jonathan.Cameron@huawei.com>
As g_malloc0/g_malloc() will just exit QEMU on failure there is no
point in checking for it failing.
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
v2: Fix up description to include g_malloc()
---
hw/mem/cxl_type3.c | 52 +++++++---------------------------------------
1 file changed, 7 insertions(+), 45 deletions(-)
diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c
index 52647b4ac7..1b92a065a3 100644
--- a/hw/mem/cxl_type3.c
+++ b/hw/mem/cxl_type3.c
@@ -42,9 +42,9 @@ enum {
CT3_CDAT_NUM_ENTRIES
};
-static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
- int dsmad_handle, MemoryRegion *mr,
- bool is_pmem, uint64_t dpa_base)
+static void ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
+ int dsmad_handle, MemoryRegion *mr,
+ bool is_pmem, uint64_t dpa_base)
{
g_autofree CDATDsmas *dsmas = NULL;
g_autofree CDATDslbis *dslbis0 = NULL;
@@ -54,9 +54,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
g_autofree CDATDsemts *dsemts = NULL;
dsmas = g_malloc(sizeof(*dsmas));
- if (!dsmas) {
- return -ENOMEM;
- }
*dsmas = (CDATDsmas) {
.header = {
.type = CDAT_TYPE_DSMAS,
@@ -70,9 +67,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
/* For now, no memory side cache, plausiblish numbers */
dslbis0 = g_malloc(sizeof(*dslbis0));
- if (!dslbis0) {
- return -ENOMEM;
- }
*dslbis0 = (CDATDslbis) {
.header = {
.type = CDAT_TYPE_DSLBIS,
@@ -86,9 +80,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
};
dslbis1 = g_malloc(sizeof(*dslbis1));
- if (!dslbis1) {
- return -ENOMEM;
- }
*dslbis1 = (CDATDslbis) {
.header = {
.type = CDAT_TYPE_DSLBIS,
@@ -102,9 +93,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
};
dslbis2 = g_malloc(sizeof(*dslbis2));
- if (!dslbis2) {
- return -ENOMEM;
- }
*dslbis2 = (CDATDslbis) {
.header = {
.type = CDAT_TYPE_DSLBIS,
@@ -118,9 +106,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
};
dslbis3 = g_malloc(sizeof(*dslbis3));
- if (!dslbis3) {
- return -ENOMEM;
- }
*dslbis3 = (CDATDslbis) {
.header = {
.type = CDAT_TYPE_DSLBIS,
@@ -134,9 +119,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
};
dsemts = g_malloc(sizeof(*dsemts));
- if (!dsemts) {
- return -ENOMEM;
- }
*dsemts = (CDATDsemts) {
.header = {
.type = CDAT_TYPE_DSEMTS,
@@ -159,8 +141,6 @@ static int ct3_build_cdat_entries_for_mr(CDATSubHeader **cdat_table,
cdat_table[CT3_CDAT_DSLBIS2] = g_steal_pointer(&dslbis2);
cdat_table[CT3_CDAT_DSLBIS3] = g_steal_pointer(&dslbis3);
cdat_table[CT3_CDAT_DSEMTS] = g_steal_pointer(&dsemts);
-
- return 0;
}
static int ct3_build_cdat_table(CDATSubHeader ***cdat_table, void *priv)
@@ -171,7 +151,6 @@ static int ct3_build_cdat_table(CDATSubHeader ***cdat_table, void *priv)
int dsmad_handle = 0;
int cur_ent = 0;
int len = 0;
- int rc, i;
if (!ct3d->hostpmem && !ct3d->hostvmem) {
return 0;
@@ -194,27 +173,18 @@ static int ct3_build_cdat_table(CDATSubHeader ***cdat_table, void *priv)
}
table = g_malloc0(len * sizeof(*table));
- if (!table) {
- return -ENOMEM;
- }
/* Now fill them in */
if (volatile_mr) {
- rc = ct3_build_cdat_entries_for_mr(table, dsmad_handle++, volatile_mr,
- false, 0);
- if (rc < 0) {
- return rc;
- }
+ ct3_build_cdat_entries_for_mr(table, dsmad_handle++, volatile_mr,
+ false, 0);
cur_ent = CT3_CDAT_NUM_ENTRIES;
}
if (nonvolatile_mr) {
uint64_t base = volatile_mr ? memory_region_size(volatile_mr) : 0;
- rc = ct3_build_cdat_entries_for_mr(&(table[cur_ent]), dsmad_handle++,
- nonvolatile_mr, true, base);
- if (rc < 0) {
- goto error_cleanup;
- }
+ ct3_build_cdat_entries_for_mr(&(table[cur_ent]), dsmad_handle++,
+ nonvolatile_mr, true, base);
cur_ent += CT3_CDAT_NUM_ENTRIES;
}
assert(len == cur_ent);
@@ -222,11 +192,6 @@ static int ct3_build_cdat_table(CDATSubHeader ***cdat_table, void *priv)
*cdat_table = g_steal_pointer(&table);
return len;
-error_cleanup:
- for (i = 0; i < cur_ent; i++) {
- g_free(table[i]);
- }
- return rc;
}
static void ct3_free_cdat_table(CDATSubHeader **cdat_table, int num, void *priv)
@@ -1168,9 +1133,6 @@ void qmp_cxl_inject_uncorrectable_errors(const char *path,
}
cxl_err = g_malloc0(sizeof(*cxl_err));
- if (!cxl_err) {
- return;
- }
cxl_err->type = cxl_err_code;
while (header && header_count < 32) {
--
2.39.2
next prev parent reply other threads:[~2024-01-26 12:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-26 12:01 [PATCH v2 00/12 qemu] CXL emulation fixes and minor cleanup Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 01/12] cxl/cdat: Handle cdat table build errors Jonathan Cameron
2024-01-26 12:01 ` Jonathan Cameron [this message]
2024-01-26 12:01 ` [PATCH v2 03/12] hw/pci-bridge/cxl_upstream: Drop g_malloc() failure handling Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 04/12] cxl/cdat: Fix header sum value in CDAT checksum Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 05/12] hw/cxl/mbox: Remove dead code Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 06/12] hw/cxl/device: read from register values in mdev_reg_read() Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 07/12] hw/cxl: Pass CXLComponentState to cache_mem_ops Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 08/12] hw/cxl: Pass NULL for a NULL MemoryRegionOps Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 09/12] hw/mem/cxl_type3: Fix potential divide by zero reported by coverity Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 10/12] tests/acpi: Allow update of DSDT.cxl Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 11/12] hw/i386: Fix _STA return value for ACPI0017 Jonathan Cameron
2024-01-26 12:01 ` [PATCH v2 12/12] tests/acpi: Update DSDT.cxl to reflect change _STA return value Jonathan Cameron
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=20240126120132.24248-3-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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox