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

2017-08-07 Thread Heinrich Schuchardt
On 08/06/2017 06:23 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 
> ---
>  lib/efi_loader/efi_boottime.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
> index 5ff2d2d4b0..ada119325c 100644
> --- a/lib/efi_loader/efi_boottime.c
> +++ b/lib/efi_loader/efi_boottime.c
> @@ -643,6 +643,9 @@ static efi_status_t EFIAPI efi_locate_handle(
>   }
>  
>   *buffer_size = size;
> + if (size == 0)
> + return EFI_NOT_FOUND;
> +
>   return EFI_SUCCESS;
>  }
>  
> 

Thanks for spotting this.

We can do the test earlier, if we move
*buffer_size = size;
to another line.

test:

...
size += sizeof(void*);
}
}

if (*buffer_size < size) {
*buffer_size = size;
return EFI_BUFFER_TOO_SMALL;
}
*buffer_size = size;
if (size == 0)
return EFI_NOT_FOUND;

/* Then fill the array */
...

Best regards

Heinrich
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-08-06 Thread Mark Kettenis
> From: Rob Clark 
> Date: Sun,  6 Aug 2017 12:23:50 -0400
> 
> 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 

Reviewed-by: Mark Kettenis 

> ---
>  lib/efi_loader/efi_boottime.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
> index 5ff2d2d4b0..ada119325c 100644
> --- a/lib/efi_loader/efi_boottime.c
> +++ b/lib/efi_loader/efi_boottime.c
> @@ -643,6 +643,9 @@ static efi_status_t EFIAPI efi_locate_handle(
>   }
>  
>   *buffer_size = size;
> + if (size == 0)
> + return EFI_NOT_FOUND;
> +
>   return EFI_SUCCESS;
>  }
>  
> -- 
> 2.13.0
> 
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
> 
> 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot