[U-Boot] [PATCH v2] efi_loader: LocateHandle should return EFI_NOT_FOUND if none found

Spotted this debugging OpenBSD's bootloader in qemu. (Wouldn't really fix anything, the problem was not having any disks, but we should probably return the correct error code.)
Signed-off-by: Rob Clark robdclark@gmail.com --- v2: early-return in the EFI_NOT_FOUND case, as suggested by Heinrich
lib/efi_loader/efi_boottime.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index 5ff2d2d4b0..93ca05f3ef 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -633,6 +633,10 @@ static efi_status_t EFIAPI efi_locate_handle( return EFI_BUFFER_TOO_SMALL; }
+ *buffer_size = size; + if (size == 0) + return EFI_NOT_FOUND; + /* Then fill the array */ list_for_each(lhandle, &efi_obj_list) { struct efi_object *efiobj; @@ -642,7 +646,6 @@ static efi_status_t EFIAPI efi_locate_handle( } }
- *buffer_size = size; return EFI_SUCCESS; }

On 08/06/2017 08:10 PM, Rob Clark wrote:
Spotted this debugging OpenBSD's bootloader in qemu. (Wouldn't really fix anything, the problem was not having any disks, but we should probably return the correct error code.)
Signed-off-by: Rob Clark robdclark@gmail.com
v2: early-return in the EFI_NOT_FOUND case, as suggested by Heinrich
lib/efi_loader/efi_boottime.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index 5ff2d2d4b0..93ca05f3ef 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -633,6 +633,10 @@ static efi_status_t EFIAPI efi_locate_handle( return EFI_BUFFER_TOO_SMALL; }
- *buffer_size = size;
- if (size == 0)
return EFI_NOT_FOUND;
- /* Then fill the array */ list_for_each(lhandle, &efi_obj_list) { struct efi_object *efiobj;
@@ -642,7 +646,6 @@ static efi_status_t EFIAPI efi_locate_handle( } }
- *buffer_size = size; return EFI_SUCCESS;
}
@Alex: This can be directly merged into efi-next. It has no further prerequisites.
Reviewed-by: Heinrich Schuchardt xypron.glpk@gmx.de

Spotted this debugging OpenBSD's bootloader in qemu. (Wouldn't really fix anything, the problem was not having any disks, but we should probably return the correct error code.)
Signed-off-by: Rob Clark robdclark@gmail.com Reviewed-by: Heinrich Schuchardt xypron.glpk@gmx.de
Thanks, applied to efi-next
Alex
participants (3)
-
Alexander Graf
-
Heinrich Schuchardt
-
Rob Clark