[PATCH 1/2] virtio-rng: fix boot with virtio-rng device

From: Sasha Levin
Date: Thu May 15 2014 - 09:22:31 EST


Commit "virtio-rng: support multiple virtio-rng devices" has broken
boot with a virtio-rng device because the 'init' callback of the
virtio-rng device was left unitialized to garbage, and got called
by the hwrng infrastructure, killing the guest on boot.

Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
---

Also, do we really need multiple virtio-rng devices? I know it's
nice to have, but if there isn't a solid use-case behind it we're
just adding bugs to working code without any benefit.


drivers/char/hw_random/virtio-rng.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c
index 12e242b..5b25daa 100644
--- a/drivers/char/hw_random/virtio-rng.c
+++ b/drivers/char/hw_random/virtio-rng.c
@@ -95,7 +95,7 @@ static int probe_common(struct virtio_device *vdev)
int err, i;
struct virtrng_info *vi = NULL;

- vi = kmalloc(sizeof(struct virtrng_info), GFP_KERNEL);
+ vi = kzalloc(sizeof(struct virtrng_info), GFP_KERNEL);
vi->hwrng.name = kmalloc(40, GFP_KERNEL);
init_completion(&vi->have_data);

--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/