On Sun, Sep 04, 2016 at 01:59:38PM +0530, PrasannaKumar Muralidharan wrote:
>
> @@ -573,6 +557,17 @@ EXPORT_SYMBOL_GPL(devm_hwrng_unregister);
>  
>  static int __init hwrng_modinit(void)
>  {
> +     /* kmalloc makes this safe for virt_to_page() in virtio_rng.c */
> +     rng_buffer = kmalloc(rng_buffer_size(), GFP_KERNEL);
> +     if (!rng_buffer)
> +             return -ENOMEM;
> +
> +     rng_fillbuf = kmalloc(rng_buffer_size(), GFP_KERNEL);
> +     if (!rng_fillbuf) {
> +             kfree(rng_buffer);
> +             return -ENOMEM;
> +     }
> +
>       return register_miscdev();

You're leaking memory if register_miscdev fails.

Cheers,
-- 
Email: Herbert Xu <herb...@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to