virtio_net: fix use after free on allocation failure
authorMichael S. Tsirkin <mst@redhat.com>
Tue, 14 Oct 2014 23:52:31 +0000 (10:22 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 14 Oct 2014 23:55:05 +0000 (10:25 +1030)
commit024655555021e971203c519770609509e0af4468
treee0bc0b54628ad7621c4a2fe79062e876615599f6
parent64b4cc3911fe8284dfb3cfdb8065c100b818bab8
virtio_net: fix use after free on allocation failure

In the extremely unlikely event that driver initialization fails after
RX buffers are added, virtio net frees RX buffers while VQs are
still active, potentially causing device to use a freed buffer.

To fix, reset device first - same as we do on device removal.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/net/virtio_net.c