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

Ilias Apalodimas ilias.apalodimas at linaro.org
Wed Aug 28 09:40:30 CEST 2024


Hi Simon, 

[...]

> > > > > > ---
> > > > > >
> > > > > > (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()
> 

Looking at it again, this wasn't very clear. The previous patch converts
efi_allocate_pool() to use malloc. So this patch is not needed at all 

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