[PATCH v2 2/3] efi: Convert device_path allocation to use malloc()

Simon Glass sjg at chromium.org
Thu Aug 15 22:34:49 CEST 2024


Hi Ilias,

On Wed, 14 Aug 2024 at 07:07, Ilias Apalodimas
<ilias.apalodimas at linaro.org> wrote:
>
> Hi Simon
>
> On Wed, 14 Aug 2024 at 15:40, Simon Glass <sjg at chromium.org> wrote:
> >
> > Hi Ilias,
> >
> > On Wed, 14 Aug 2024 at 05:03, Ilias Apalodimas
> > <ilias.apalodimas at linaro.org> wrote:
> > >
> > > Hi Simon,
> > >
> > > On Thu, 1 Aug 2024 at 20:36, Simon Glass <sjg at chromium.org> wrote:
> > > >
> > > > Currently this calls efi_alloc() which reserves a page for each
> > > > allocation and this can overwrite memory that will be used for reading
> > > > images.
> > > >
> > > > Switch the code to use malloc(), as with other parts of EFI, such as
> > > > efi_add_protocol().
> > > >
> > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > ---
> > > >
> > > > (no changes since v1)
> > >
> > > What about https://lore.kernel.org/u-boot/CAFLszTjLAKaYK_jLXJ7Z571L-QMtoiqE-oxHCRs186dZ2Qok5g@mail.gmail.com/
> > > ?
> >
> > Yes, I reordered the patches in this series.
>
> You don't need to reorder them. As Heinrich already pointed out some
> of these functions are used in EFI protocols. e.g
> duplicate_device_path() requires the memory to be allocated by EFI
> memory services, you can't just replace it with malloc.

The pointers returned can be freed with EFI services. I don't see any
problem here. All the tests pass and all the spec rules are followed,
so far as I can tell.

Bear in mind that I am changing the *implementation* of some memory
routines, but not in a way that is visible to clients.

I will send a v2 with things split up a bit more, so long as we
remember that the EFI patches cannot be applied until the non-EFI
patches land.

Regards,
Simon


More information about the U-Boot mailing list