Subject: [PATCH v3 18/21] efi: stub: implement efi_get_random_bytes() based on EFI_RNG_PROTOCOL

From: [email-masked] (Matt Fleming)
Date: Thu, 21 Jan 2016 15:42:34 +0000

On Mon, 11 Jan, at 02:19:12PM, Ard Biesheuvel wrote:
> This exposes the firmware's implementation of EFI_RNG_PROTOCOL via a new
> function efi_get_random_bytes().
> 
> Signed-off-by: Ard Biesheuvel <[email-masked]>
> ---
>  drivers/firmware/efi/libstub/Makefile  |  2 +-
>  drivers/firmware/efi/libstub/efistub.h |  3 ++
>  drivers/firmware/efi/libstub/random.c  | 35 ++++++++++++++++++++
>  include/linux/efi.h                    |  5 ++-
>  4 files changed, 43 insertions(+), 2 deletions(-)

[...]

> @@ -0,0 +1,35 @@
> +/*
> + * Copyright (C) 2016 Linaro Ltd;  <[email-masked]>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#include <linux/efi.h>
> +#include <asm/efi.h>
> +
> +#include "efistub.h"
> +
> +struct efi_rng_protocol_t {
> +	efi_status_t (*get_info)(struct efi_rng_protocol_t *,
> +				 unsigned long *, efi_guid_t *);
> +	efi_status_t (*get_rng)(struct efi_rng_protocol_t *,
> +				efi_guid_t *, unsigned long, u8 *out);
> +};

This is not the usual naming convention for EFI structs, it should
either be 'struct efi_rng_protocol' or 'efi_rng_protocol_t'.

But apart from that, this patch looks fine.

Reviewed-by: Matt Fleming <[email-masked]>