qemu-riscv.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
To: qemu-devel@nongnu.org
Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com,
	bmeng@tinylab.org, liwei1518@gmail.com,
	zhiwei_liu@linux.alibaba.com, palmer@rivosinc.com,
	Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Subject: [PATCH 0/7] hw/riscv: fix leak, add more g_autofree
Date: Mon, 22 Jan 2024 19:15:22 -0300	[thread overview]
Message-ID: <20240122221529.86562-1-dbarboza@ventanamicro.com> (raw)

Hi,

First patch fixes a leak found when using Valgrind. The root cause is a
missing g_free() in a string. 

In fact, I found while doing reviews that we keep repeating the same
pattern:

====
char *name;
name = g_strdup_printf(...);
(...)
g_free(name);
====

With this in mind, I ended up making this rather trivial series to
introduce more string/array autocleaning in the 'virt' machine code. The
advantage of doing 'g_autofree' is that we'll guarantee that we'll clean
ourselves up when the variable goes out of scope, avoiding leaks like
the one patch 1 fixes. We want to enforce this autoclean style in
reviews, and for that we need to get rid of at least some of the uses we
do it right now.

I didn't bother changing the 'spike' and the 'sifive' boards for now
because the bulk of new patches is done on top of the 'virt' machine,
so it's more important to tidy this board first.


Daniel Henrique Barboza (7):
  hw/riscv/virt-acpi-build.c: fix leak in build_rhct()
  hw/riscv/numa.c: use g_autofree in socket_fdt_write_distance_matrix()
  hw/riscv/virt.c: use g_autofree in create_fdt_socket_cpus()
  hw/riscv/virt.c: use g_autofree in create_fdt_sockets()
  hw/riscv/virt.c: use g_autofree in create_fdt_virtio()
  hw/riscv/virt.c: use g_autofree in virt_machine_init()
  hw/riscv/virt.c: use g_autofree in create_fdt_*

 hw/riscv/numa.c            |   4 +-
 hw/riscv/virt-acpi-build.c |   2 +-
 hw/riscv/virt.c            | 109 ++++++++++++-------------------------
 3 files changed, 37 insertions(+), 78 deletions(-)

-- 
2.43.0



             reply	other threads:[~2024-01-22 22:15 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-22 22:15 Daniel Henrique Barboza [this message]
2024-01-22 22:15 ` [PATCH 1/7] hw/riscv/virt-acpi-build.c: fix leak in build_rhct() Daniel Henrique Barboza
2024-02-05  2:57   ` Alistair Francis
2024-01-22 22:15 ` [PATCH 2/7] hw/riscv/numa.c: use g_autofree in socket_fdt_write_distance_matrix() Daniel Henrique Barboza
2024-02-05  2:57   ` Alistair Francis
2024-01-22 22:15 ` [PATCH 3/7] hw/riscv/virt.c: use g_autofree in create_fdt_socket_cpus() Daniel Henrique Barboza
2024-01-23  5:42   ` Philippe Mathieu-Daudé
2024-02-05  2:58   ` Alistair Francis
2024-01-22 22:15 ` [PATCH 4/7] hw/riscv/virt.c: use g_autofree in create_fdt_sockets() Daniel Henrique Barboza
2024-02-05  2:59   ` Alistair Francis
2024-01-22 22:15 ` [PATCH 5/7] hw/riscv/virt.c: use g_autofree in create_fdt_virtio() Daniel Henrique Barboza
2024-01-23  5:43   ` Philippe Mathieu-Daudé
2024-02-05  3:00   ` Alistair Francis
2024-01-22 22:15 ` [PATCH 6/7] hw/riscv/virt.c: use g_autofree in virt_machine_init() Daniel Henrique Barboza
2024-01-23  5:44   ` Philippe Mathieu-Daudé
2024-02-05  3:00   ` Alistair Francis
2024-01-22 22:15 ` [PATCH 7/7] hw/riscv/virt.c: use g_autofree in create_fdt_* Daniel Henrique Barboza
2024-02-05  3:02   ` Alistair Francis
2024-02-05  3:16 ` [PATCH 0/7] hw/riscv: fix leak, add more g_autofree Alistair Francis

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=20240122221529.86562-1-dbarboza@ventanamicro.com \
    --to=dbarboza@ventanamicro.com \
    --cc=alistair.francis@wdc.com \
    --cc=bmeng@tinylab.org \
    --cc=liwei1518@gmail.com \
    --cc=palmer@rivosinc.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=zhiwei_liu@linux.alibaba.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).