Re: [PATCH] hwrng: core - allocate a one page buffer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 06, 2020 at 05:28:14PM +0200, Laurent Vivier wrote:
.
> +static size_t rng_max_buffer_size(struct hwrng *rng)
> +{
> +	size_t size;
> +
> +	size = max_t(size_t, rng->buffer_size, SMP_CACHE_BYTES);
> +
> +	/* rng_buffer can store up to PAGE_SIZE */
> +	return min(PAGE_SIZE, size);
>  }

Rather than checking this on every read, just do it once at driver
registration time.

> @@ -614,11 +629,11 @@ static int __init hwrng_modinit(void)
>  	int ret;
>  
>  	/* kmalloc makes this safe for virt_to_page() in virtio_rng.c */
> -	rng_buffer = kmalloc(rng_buffer_size(), GFP_KERNEL);
> +	rng_buffer = (u8 *)get_zeroed_page(GFP_KERNEL);
>  	if (!rng_buffer)
>  		return -ENOMEM;

Why a zeroed page? Also please fix the out-of-sync comment.

Thanks,
-- 
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux