|
From: | Edgar E. Iglesias |
Subject: | Re: [Qemu-trivial] [PATCH v2] microblaze: fix memory leak |
Date: | Sat, 28 Mar 2015 17:31:32 +1000 |
On 28/03/2015 12:38 pm, "Gonglei" <address@hidden> wrote:
>
> Hi,
>
> Ping again... Can this patch be a raw stuff for rc2 ?
Looks good to me, thanks.
Reviewed-by: Edgar E. Iglesias <address@hidden>
Can this go through -trivial?
Cheers,
Edgar
>
> Regards,
> Gonglei
>
> On 2015/3/17 15:15, Gonglei wrote:
> > On 2015/3/5 11:05, address@hidden wrote:
> >> From: Gonglei <address@hidden>
> >>
> >> When not assign a -dtb argument, the variable dtb_filename
> >> storage returned from qemu_find_file(), which should be freed
> >> after use. Alternatively we define a local variable filename,
> >> with 'char *' type, free after use.
> >>
> >> Cc: Michael Tokarev <address@hidden>
> >> Cc: Edgar E. Iglesias <address@hidden>
> >> Signed-off-by: Gonglei <address@hidden>
> >> ---
> >> v2: fix a complier error.
> >> ---
> >> hw/microblaze/boot.c | 13 +++++++------
> >> 1 file changed, 7 insertions(+), 6 deletions(-)
> >>
> >
> > Ping...
> >
> >> diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
> >> index a2843cd..352ccb1 100644
> >> --- a/hw/microblaze/boot.c
> >> +++ b/hw/microblaze/boot.c
> >> @@ -113,15 +113,15 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base,
> >> const char *kernel_filename;
> >> const char *kernel_cmdline;
> >> const char *dtb_arg;
> >> + char *filename = NULL;
> >>
> >> machine_opts = qemu_get_machine_opts();
> >> kernel_filename = qemu_opt_get(machine_opts, "kernel");
> >> kernel_cmdline = qemu_opt_get(machine_opts, "append");
> >> dtb_arg = qemu_opt_get(machine_opts, "dtb");
> >> - if (dtb_arg) { /* Preference a -dtb argument */
> >> - dtb_filename = dtb_arg;
> >> - } else { /* default to pcbios dtb as passed by machine_init */
> >> - dtb_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename);
> >> + /* default to pcbios dtb as passed by machine_init */
> >> + if (!dtb_arg) {
> >> + filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, dtb_filename);
> >> }
> >>
> >> boot_info.machine_cpu_reset = machine_cpu_reset;
> >> @@ -203,7 +203,8 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base,
> >> boot_info.initrd_start,
> >> boot_info.initrd_end,
> >> kernel_cmdline,
> >> - dtb_filename);
> >> + /* Preference a -dtb argument */
> >> + dtb_arg ? dtb_arg : filename);
> >> }
> >> -
> >> + g_free(filename);
> >> }
> >>
> >
>
>
[Prev in Thread] | Current Thread | [Next in Thread] |