[PATCH 2/4 v2] efi_loader: check the status of disconnected drivers

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Jul 9 11:10:24 CEST 2023


On 6/20/23 08:19, Ilias Apalodimas wrote:
> efi_uninstall_protocol() calls efi_disconnect_all_drivers() but never
> checks the return value.  Instead it tries to identify protocols that
> are still open after closing the ones that were opened with
> EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL, EFI_OPEN_PROTOCOL_GET_PROTOCOL
> and EFI_OPEN_PROTOCOL_TEST_PROTOCOL.
>
> Instead of doing that,  check the return value early and exit if
> disconnecting the drivers failed.  Also reconnect all the drivers of
> a handle if protocols are still found on the handle after disconnecting
> controllers and closing the remaining protocols.
>
> While at it fix a memory leak and properly free the opened protocol
> information when closing a protocol.
>
> Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>

Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>


More information about the U-Boot mailing list