[U-Boot] [PATCH v14 4/4] efi: Rename bootefi_test_finish() to bootefi_run_finish()

Simon Glass sjg at chromium.org
Thu Nov 22 20:50:49 UTC 2018


Hi Heinrich,

On Mon, 19 Nov 2018 at 12:41, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 11/15/18 12:11 AM, Simon Glass wrote:
> > This function can be used from do_bootefi_exec() so that we use mostly the
> > same code for a normal EFI application and an EFI test.
> >
> > Rename the function and use it in both places.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > Changes in v14:
> > - Go back to the horrible long variable names
> > - Hopefully correct error paths in do_bootefi_exec()
> >
> > Changes in v13:
> > - Drop 'efi_loader: Drop setup_ok' as we have an existing patch for that
> > - Drop patches previously applied
> >
> > Changes in v12: None
> > Changes in v11:
> > - Drop patches previously applied
> >
> > Changes in v9: None
> > Changes in v7:
> > - Drop patch "efi: Init the 'rows' and 'cols' variables"
> > - Drop patches previous applied
> >
> > Changes in v5:
> > - Rebase to master
> >
> > Changes in v4:
> > - Rebase to master
> >
> > Changes in v3:
> > - Add new patch to rename bootefi_test_finish() to bootefi_run_finish()
> >
> >  cmd/bootefi.c | 46 ++++++++++++++++++++++++----------------------
> >  1 file changed, 24 insertions(+), 22 deletions(-)
> >
> > diff --git a/cmd/bootefi.c b/cmd/bootefi.c
> > index ab7ada9f2d6..a627f689f95 100644
> > --- a/cmd/bootefi.c
> > +++ b/cmd/bootefi.c
> > @@ -350,6 +350,20 @@ static efi_status_t bootefi_run_prepare(const char *load_options_path,
> >       return 0;
> >  }
> >
> > +/**
> > + * bootefi_run_finish() - finish up after running an EFI test
> > + *
> > + * @loaded_image_info: Pointer to a struct which holds the loaded image info
> > + * @image_objj: Pointer to a struct which holds the loaded image object
> > + */
> > +static void bootefi_run_finish(struct efi_loaded_image_obj *image_obj,
> > +                            struct efi_loaded_image *loaded_image_info)
> > +{
> > +     efi_restore_gd();
> > +     free(loaded_image_info->load_options);
> > +     efi_delete_handle(&image_obj->header);
> > +}
> > +
> >  /**
> >   * do_bootefi_exec() - execute EFI binary
> >   *
> > @@ -390,11 +404,11 @@ static efi_status_t do_bootefi_exec(void *efi,
> >                */
> >               ret = efi_create_handle(&mem_handle);
> >               if (ret != EFI_SUCCESS)
> > -                     goto exit;
>
> You are leaking a device path.

I cannot see anywhere where these are freed. Are you sure this is supported?

I'll add a comment for now. In any case, this matches the previous code.

Regards,
Simon


More information about the U-Boot mailing list