Am Montag, 17. Oktober 2016, 10:06:27 CEST schrieb Andy Lutomirski:

Hi Andy,

> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
> index 9203f2d130c0..340f96e44642 100644
> --- a/drivers/char/hw_random/core.c
> +++ b/drivers/char/hw_random/core.c
> @@ -84,14 +84,14 @@ static size_t rng_buffer_size(void)
> 
>  static void add_early_randomness(struct hwrng *rng)
>  {
> -     unsigned char bytes[16];
>       int bytes_read;
> +     size_t size = min_t(size_t, 16, rng_buffer_size());
> 
>       mutex_lock(&reading_mutex);
> -     bytes_read = rng_get_data(rng, bytes, sizeof(bytes), 1);
> +     bytes_read = rng_get_data(rng, rng_buffer, size, 1);
>       mutex_unlock(&reading_mutex);
>       if (bytes_read > 0)
> -             add_device_randomness(bytes, bytes_read);
> +             add_device_randomness(rng_buffer, bytes_read);

Shouldn't there be a memset(0) of the rng_buffer at this point to avoid having 
such data lingering in memory?


Ciao
Stephan

Reply via email to