[PATCH] efi_loader: add missing EFI_EXIT in efi_disconnect_controller

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Jun 29 13:06:11 CEST 2026


Hello Simon,

On 6/25/26 5:12 PM, Simon Glass wrote:
> Hi Ahmad,
> 
> On Thu, 18 Jun 2026 at 16:28, Ahmad Fatoum <a.fatoum at pengutronix.de> wrote:
>>
>> Hello,
>>
>> On 6/18/26 5:18 PM, Simon Glass wrote:
>>> Hi Vincent,
>>>
>>> On Thu, 18 Jun 2026 at 16:09, Vincent Stehlé <vincent.stehle at arm.com> 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 :-)
>>
>> It's not as extensive as U-Boot's yet, but it's usable for the common
>> boot me a distro GRUB use case. The code originated from U-Boot with
>> some parts heavily rewritten to fit barebox, e.g. the EFI filesystem
>> protocol is implemented on top of dirfds, so it reuses VFS path handling
>> and other such things.
> 
> OK good. I did create a VFS in Concept but I have not tried to get it
> into mainline yet.

Cool. I really look forward to `cp /dev/sd /dev/emmc` just working :-)


>> The imported files have Origin-URL comments pointing back at U-Boot
>> including the revision they originated from, but we are still in need of
>> better tooling to make use of these tags.
> 
> On another topic - where did we get to with the whole-FITsigning
> thing? Should we set up a call to talk it through?

This is still something I am interested in landing. I had started a
review of your counterproposal, but got distracted before finishing it.
I submitted it now.

Cheers,
Ahmad

> 
> Regards,
> Simon
> 
>>
>> @Vincent, I suspect a number of fixes in [1] are also applicable to
>> U-Boot, but I haven't checked.
>>
>> [1]:
>> https://lore.kernel.org/barebox/20260216084758.3548990-1-a.fatoum@pengutronix.de/
>>
>> Cheers,
>> Ahmad
>>
>>
>>
>>>
>>>>
>>>> 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é <vincent.stehle at arm.com>
>>>> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
>>>> Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
>>>> Cc: Tom Rini <trini at konsulko.com>
>>>> ---
>>>>  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);
>>>>         sole_child = (number_of_children == 1);
>>>>
>>>>         if (child_handle) {
>>>> --
>>>> 2.53.0
>>>>
>>>
>>> Regards,
>>> Simon
>>>
>>
>> --
>> Pengutronix e.K.                  |                             |
>> Steuerwalder Str. 21              | http://www.pengutronix.de/  |
>> 31137 Hildesheim, Germany         | Phone: +49-5121-206917-0    |
>> Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |
>>
> 

-- 
Pengutronix e.K.                  |                             |
Steuerwalder Str. 21              | http://www.pengutronix.de/  |
31137 Hildesheim, Germany         | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |



More information about the U-Boot mailing list