On Thu, 18 Jun 2026 at 16:21, Ilias Apalodimas
<[email protected]> wrote:
>
> Hi Vincent,
>
>
> On Thu, 18 Jun 2026 at 18:19, Simon Glass <[email protected]> wrote:
>>
>> Hi Vincent,
>>
>> On Thu, 18 Jun 2026 at 16:09, Vincent Stehlé <[email protected]> wrote:
>> >
>> > Make sure to call EFI_EXIT() in efi_disconnect_controller(), when returning
>> > after having called EFI_ENTRY().
>> >
>> > This is inspired by a barebox fix. [1]
>>
>> Hmm, does Barebox support EFI_LOADER now? I wish we could bring these
>> projects back together :-)
>>
>> >
>> > Link: 
>> > https://git.pengutronix.de/cgit/barebox/commit/?id=080db65e39a877b000baaf843c997a69821dfe69
>> >  [1]
>> > Fixes: 314bed6c854e ("efi_loader: fix DisconnectController() for sole 
>> > child")
>> > Signed-off-by: Vincent Stehlé <[email protected]>
>> > Cc: Heinrich Schuchardt <[email protected]>
>> > Cc: Ilias Apalodimas <[email protected]>
>> > Cc: Tom Rini <[email protected]>
>> > ---
>> >  lib/efi_loader/efi_boottime.c | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
>> > index de57823bd44..b6966652d97 100644
>> > --- a/lib/efi_loader/efi_boottime.c
>> > +++ b/lib/efi_loader/efi_boottime.c
>> > @@ -3895,7 +3895,7 @@ efi_status_t EFIAPI efi_disconnect_controller(
>> >                                       &number_of_children,
>> >                                       &child_handle_buffer);
>> >         if (r != EFI_SUCCESS)
>> > -               return r;
>> > +               return EFI_EXIT(r);
>
>
> Any reason we can just goto out;

+1...every other error path uses 'goto out' so the single EFI_EXIT()
at the bottom handles things - child_handle_buffer is initialised to
NULL so the free() at out is safe.

>
> Thanks
> /Ilias
>>
>> >         sole_child = (number_of_children == 1);
>> >
>> >         if (child_handle) {
>> > --
>> > 2.53.0

Regards,
Simon

Reply via email to