From: Bernhard Beschow <shentey@gmail.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, "Hanna Reitz" <hreitz@redhat.com>,
qemu-ppc@nongnu.org, "Kevin Wolf" <kwolf@redhat.com>,
"Corey Minyard" <cminyard@mvista.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Daniel Henrique Barboza" <danielhb413@gmail.com>,
qemu-block@nongnu.org, "Nicholas Piggin" <npiggin@gmail.com>,
"Bin Meng" <bmeng.cn@gmail.com>,
"Cédric Le Goater" <clg@redhat.com>
Subject: Re: [PATCH 01/23] hw/ppc/e500: Do not leak struct boot_info
Date: Wed, 25 Sep 2024 19:08:45 +0000 [thread overview]
Message-ID: <B263FDBA-E984-4351-81CB-1CCC09C2550E@gmail.com> (raw)
In-Reply-To: <755fc52d-cb33-aaf0-cbed-825321b6889f@eik.bme.hu>
Am 23. September 2024 10:02:10 UTC schrieb BALATON Zoltan <balaton@eik.bme.hu>:
>On Mon, 23 Sep 2024, Bernhard Beschow wrote:
>> The struct is allocated once with g_new0() but never free()'d. Fix the leakage
>> by adding an attribute to struct PPCE500MachineState which avoids the
>> allocation.
>>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> ---
>> hw/ppc/e500.h | 8 ++++++++
>> hw/ppc/e500.c | 17 ++++-------------
>> 2 files changed, 12 insertions(+), 13 deletions(-)
>>
>> diff --git a/hw/ppc/e500.h b/hw/ppc/e500.h
>> index 8c09ef92e4..557ce6ad93 100644
>> --- a/hw/ppc/e500.h
>> +++ b/hw/ppc/e500.h
>> @@ -5,10 +5,18 @@
>> #include "hw/platform-bus.h"
>> #include "qom/object.h"
>>
>> +typedef struct boot_info {
>> + uint32_t dt_base;
>> + uint32_t dt_size;
>> + uint32_t entry;
>> +} boot_info;
>> +
>> struct PPCE500MachineState {
>> /*< private >*/
>
>While at it you could remove these private markers...
Will do.
>
>> MachineState parent_obj;
>>
>> + boot_info boot_info;
>> +
>
>...and drop the new line here so only the parent_obj is followed by a new line as was suggested as reccomended style.
I'll merge struct boot_info below as Cédric suggested.
Best regards,
Bernhard
>
>Regatds,
>BALATON Zoltan
>
>> /* points to instance of TYPE_PLATFORM_BUS_DEVICE if
>> * board supports dynamic sysbus devices
>> */
>> diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
>> index 3bd12b54ab..75b051009f 100644
>> --- a/hw/ppc/e500.c
>> +++ b/hw/ppc/e500.c
>> @@ -80,13 +80,6 @@
>>
>> #define PLATFORM_CLK_FREQ_HZ (400 * 1000 * 1000)
>>
>> -struct boot_info
>> -{
>> - uint32_t dt_base;
>> - uint32_t dt_size;
>> - uint32_t entry;
>> -};
>> -
>> static uint32_t *pci_map_create(void *fdt, uint32_t mpic, int first_slot,
>> int nr_slots, int *len)
>> {
>> @@ -919,7 +912,6 @@ void ppce500_init(MachineState *machine)
>> bool kernel_as_payload;
>> hwaddr bios_entry = 0;
>> target_long payload_size;
>> - struct boot_info *boot_info = NULL;
>> int dt_size;
>> int i;
>> unsigned int smp_cpus = machine->smp.cpus;
>> @@ -974,9 +966,8 @@ void ppce500_init(MachineState *machine)
>> /* Register reset handler */
>> if (!i) {
>> /* Primary CPU */
>> - boot_info = g_new0(struct boot_info, 1);
>> qemu_register_reset(ppce500_cpu_reset, cpu);
>> - env->load_info = boot_info;
>> + env->load_info = &pms->boot_info;
>> } else {
>> /* Secondary CPUs */
>> qemu_register_reset(ppce500_cpu_reset_sec, cpu);
>> @@ -1274,9 +1265,9 @@ void ppce500_init(MachineState *machine)
>> }
>> assert(dt_size < DTB_MAX_SIZE);
>>
>> - boot_info->entry = bios_entry;
>> - boot_info->dt_base = dt_base;
>> - boot_info->dt_size = dt_size;
>> + pms->boot_info.entry = bios_entry;
>> + pms->boot_info.dt_base = dt_base;
>> + pms->boot_info.dt_size = dt_size;
>> }
>>
>> static void e500_ccsr_initfn(Object *obj)
>>
next prev parent reply other threads:[~2024-09-25 19:30 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-23 9:29 [PATCH 00/23] E500 Cleanup Bernhard Beschow
2024-09-23 9:29 ` [PATCH 01/23] hw/ppc/e500: Do not leak struct boot_info Bernhard Beschow
2024-09-23 10:02 ` BALATON Zoltan
2024-09-25 19:08 ` Bernhard Beschow [this message]
2024-09-25 15:35 ` Cédric Le Goater
2024-09-25 19:03 ` Bernhard Beschow
2024-09-26 0:14 ` BALATON Zoltan
2024-10-01 14:26 ` Bernhard Beschow
2024-09-23 9:29 ` [PATCH 02/23] hw/ppc/e500: Reduce scope of env pointer Bernhard Beschow
2024-09-23 10:04 ` BALATON Zoltan
2024-09-25 19:09 ` Bernhard Beschow
2024-09-25 15:37 ` Cédric Le Goater
2024-09-25 19:02 ` Bernhard Beschow
2024-09-23 9:29 ` [PATCH 03/23] hw/ppc/e500: Prefer QOM cast Bernhard Beschow
2024-09-23 10:07 ` BALATON Zoltan
2024-09-23 9:29 ` [PATCH 04/23] hw/ppc/e500: Remove unused "irqs" parameter Bernhard Beschow
2024-09-23 10:18 ` BALATON Zoltan
2024-09-23 9:29 ` [PATCH 05/23] hw/ppc/e500: Add missing device tree properties to i2c controller node Bernhard Beschow
2024-09-25 15:37 ` Cédric Le Goater
2024-09-23 9:29 ` [PATCH 06/23] hw/ppc/e500: Use SysBusDevice API to access TYPE_CCSR's internal resources Bernhard Beschow
2024-09-23 10:28 ` BALATON Zoltan
2024-09-27 16:57 ` Bernhard Beschow
2024-09-23 9:30 ` [PATCH 07/23] hw/ppc/e500: Extract ppce500_ccsr.c Bernhard Beschow
2024-09-23 10:38 ` BALATON Zoltan
2024-09-24 20:02 ` Bernhard Beschow
2024-10-01 19:31 ` Bernhard Beschow
2024-09-23 9:30 ` [PATCH 08/23] hw/ppc/ppce500_ccsr: Log access to unimplemented registers Bernhard Beschow
2024-09-24 10:15 ` BALATON Zoltan
2024-09-24 19:23 ` Bernhard Beschow
2024-09-23 9:30 ` [PATCH 09/23] hw/ppc/mpc8544_guts: Populate POR PLL ratio status register Bernhard Beschow
2024-09-23 10:43 ` BALATON Zoltan
2024-09-23 21:54 ` Bernhard Beschow
2024-09-24 9:59 ` BALATON Zoltan
2024-09-24 19:13 ` Bernhard Beschow
2024-09-24 21:06 ` BALATON Zoltan
2024-09-23 9:30 ` [PATCH 10/23] hw/i2c/mpc_i2c: Convert DPRINTF to trace events for register access Bernhard Beschow
2024-09-25 15:40 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 11/23] hw/i2c/mpc_i2c: Prefer DEFINE_TYPES() macro Bernhard Beschow
2024-09-23 10:49 ` BALATON Zoltan
2024-09-23 22:01 ` Bernhard Beschow
2024-09-24 10:12 ` BALATON Zoltan
2024-09-25 15:40 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 12/23] hw/pci-host/ppce500: Reuse TYPE_PPC_E500_PCI_BRIDGE define Bernhard Beschow
2024-09-23 10:46 ` BALATON Zoltan
2024-09-23 9:30 ` [PATCH 13/23] hw/pci-host/ppce500: Prefer DEFINE_TYPES() macro Bernhard Beschow
2024-09-25 15:40 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 14/23] hw/gpio/mpc8xxx: " Bernhard Beschow
2024-09-25 15:41 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 15/23] hw/ppc/mpc8544_guts: " Bernhard Beschow
2024-09-25 15:41 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 16/23] hw/net/fsl_etsec/etsec: " Bernhard Beschow
2024-09-25 15:41 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 17/23] hw/intc: Guard openpic_kvm.c by dedicated OPENPIC_KVM Kconfig switch Bernhard Beschow
2024-09-25 15:41 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 18/23] hw/sd/sdhci: Prefer DEFINE_TYPES() macro Bernhard Beschow
2024-09-25 15:41 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 19/23] hw/block/pflash_cfi01: " Bernhard Beschow
2024-09-25 15:42 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 20/23] hw/i2c/smbus_eeprom: " Bernhard Beschow
2024-09-25 15:42 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 21/23] hw/rtc/ds1338: " Bernhard Beschow
2024-09-25 15:42 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 22/23] hw/usb/hcd-ehci-sysbus: " Bernhard Beschow
2024-09-25 15:43 ` Cédric Le Goater
2024-09-23 9:30 ` [PATCH 23/23] hw/vfio/platform: Let vfio_start_eventfd_injection() take VFIOPlatformDevice pointer Bernhard Beschow
2024-09-24 8:36 ` Cédric Le Goater
2024-09-23 20:23 ` [PATCH 00/23] E500 Cleanup Cédric Le Goater
2024-09-23 21:25 ` Bernhard Beschow
2024-09-24 8:33 ` Cédric Le Goater
2024-09-26 9:15 ` Bernhard Beschow
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=B263FDBA-E984-4351-81CB-1CCC09C2550E@gmail.com \
--to=shentey@gmail.com \
--cc=alex.williamson@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=bmeng.cn@gmail.com \
--cc=clg@redhat.com \
--cc=cminyard@mvista.com \
--cc=danielhb413@gmail.com \
--cc=hreitz@redhat.com \
--cc=jasowang@redhat.com \
--cc=kwolf@redhat.com \
--cc=npiggin@gmail.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.