[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/7] hw/riscv/virt.c: use g_autofree in create_fdt_sockets()
|
From: |
Daniel Henrique Barboza |
|
Subject: |
[PATCH 4/7] hw/riscv/virt.c: use g_autofree in create_fdt_sockets() |
|
Date: |
Mon, 22 Jan 2024 19:15:26 -0300 |
Move 'clust_name' inside the loop, and g_autofree, to avoid having to
g_free() manually in each loop iteration.
'intc_phandles' is also g_autofreed to avoid another manual g_free().
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
hw/riscv/virt.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index 373b1dd96b..d0f402e0d5 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -721,11 +721,11 @@ static void create_fdt_sockets(RISCVVirtState *s, const
MemMapEntry *memmap,
uint32_t *irq_virtio_phandle,
uint32_t *msi_pcie_phandle)
{
- char *clust_name;
int socket, phandle_pos;
MachineState *ms = MACHINE(s);
uint32_t msi_m_phandle = 0, msi_s_phandle = 0;
- uint32_t *intc_phandles, xplic_phandles[MAX_NODES];
+ uint32_t xplic_phandles[MAX_NODES];
+ g_autofree uint32_t *intc_phandles = NULL;
int socket_count = riscv_socket_count(ms);
qemu_fdt_add_subnode(ms->fdt, "/cpus");
@@ -739,6 +739,7 @@ static void create_fdt_sockets(RISCVVirtState *s, const
MemMapEntry *memmap,
phandle_pos = ms->smp.cpus;
for (socket = (socket_count - 1); socket >= 0; socket--) {
+ g_autofree char *clust_name = NULL;
phandle_pos -= s->soc[socket].num_harts;
clust_name = g_strdup_printf("/cpus/cpu-map/cluster%d", socket);
@@ -749,8 +750,6 @@ static void create_fdt_sockets(RISCVVirtState *s, const
MemMapEntry *memmap,
create_fdt_socket_memory(s, memmap, socket);
- g_free(clust_name);
-
if (tcg_enabled()) {
if (s->have_aclint) {
create_fdt_socket_aclint(s, memmap, socket,
@@ -793,8 +792,6 @@ static void create_fdt_sockets(RISCVVirtState *s, const
MemMapEntry *memmap,
}
}
- g_free(intc_phandles);
-
if (kvm_enabled() && virt_use_kvm_aia(s)) {
*irq_mmio_phandle = xplic_phandles[0];
*irq_virtio_phandle = xplic_phandles[0];
--
2.43.0
- [PATCH 0/7] hw/riscv: fix leak, add more g_autofree, Daniel Henrique Barboza, 2024/01/22
- [PATCH 1/7] hw/riscv/virt-acpi-build.c: fix leak in build_rhct(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 2/7] hw/riscv/numa.c: use g_autofree in socket_fdt_write_distance_matrix(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 3/7] hw/riscv/virt.c: use g_autofree in create_fdt_socket_cpus(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 4/7] hw/riscv/virt.c: use g_autofree in create_fdt_sockets(),
Daniel Henrique Barboza <=
- [PATCH 5/7] hw/riscv/virt.c: use g_autofree in create_fdt_virtio(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 6/7] hw/riscv/virt.c: use g_autofree in virt_machine_init(), Daniel Henrique Barboza, 2024/01/22
- [PATCH 7/7] hw/riscv/virt.c: use g_autofree in create_fdt_*, Daniel Henrique Barboza, 2024/01/22