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

Matt Fleming
2016-01-21T15:42:34Z

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 <ard.biesheuvel@linaro.org>
> ---
> 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; <ard.biesheuvel@linaro.org>
> + *
> + * 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 <matt@codeblueprint.co.uk>