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

Ilias Apalodimas ilias.apalodimas at linaro.org
Mon Aug 26 13:51:20 CEST 2024


Hi Simon,

On Thu, 15 Aug 2024 at 23:35, Simon Glass <sjg at chromium.org> wrote:
>
> 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.

Where exactly does that happen in the current patch?

efi_alloc() calls efi_allocate_pool() and when we need to free the
device path we are calling efi_free_pool()

/Ilias
>
> 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