ACK: [PATCH] efiruntime: getnextvariablename update the VariableNameSize before return when get EFI_BUFFER_TOO_SMALL
Colin Ian King
colin.king at canonical.com
Mon Apr 1 10:31:59 UTC 2013
On 01/04/13 10:36, Ivan Hu wrote:
> The UEFI variable test on fwts, we test the getnextvariable implementation that
> when EFI_BUFFER_TOO_SMALL error occurs, the VariableNameSize is updated to
> reflect the size of buffer needed.
> When EFI_BUFFER_TOO_SMALL error occurs, efi_runtime need to first update the the
> VariableNameSize, then return error code. so move the return error code later than update code.
>
> Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
> ---
> efi_runtime/efi_runtime.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c
> index 9440aae..db4a465 100644
> --- a/efi_runtime/efi_runtime.c
> +++ b/efi_runtime/efi_runtime.c
> @@ -256,8 +256,6 @@ static long efi_runtime_ioctl(struct file *file, unsigned int cmd,
> &vendor);
> if (put_user(status, pgetnextvariablename->status))
> return -EFAULT;
> - if (status != EFI_SUCCESS)
> - return -EINVAL;
> convert_to_guid(&vendor, &vendor_guid);
>
> if (put_user(name_size, pgetnextvariablename->VariableNameSize))
> @@ -266,6 +264,8 @@ static long efi_runtime_ioctl(struct file *file, unsigned int cmd,
> if (copy_to_user(pgetnextvariablename->VendorGuid,
> &vendor_guid, sizeof(EFI_GUID)))
> return -EFAULT;
> + if (status != EFI_SUCCESS)
> + return -EINVAL;
> return 0;
>
> case EFI_RUNTIME_QUERY_VARIABLEINFO:
>
Acked-by: Colin Ian King <colin.king at canonical.com>
More information about the fwts-devel
mailing list