virtio-balloon: fix add/get API use
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 2 Jul 2012 07:33:08 +0000 (10:33 +0300)
committerRusty Russell <rusty@rustcorp.com.au>
Sun, 8 Jul 2012 23:37:22 +0000 (09:07 +0930)
commit9c378abc5c0c6fc8e3acf5968924d274503819b3
treea818c1e2cda775a8f52e11d35ae8f9b02cfd2522
parent02edf6abe01610a5fb379df442de3c837ad99467
virtio-balloon: fix add/get API use

Since ee7cd8981e15bcb365fc762afe3fc47b8242f630 'virtio: expose added
descriptors immediately.', in virtio balloon virtqueue_get_buf might
now run concurrently with virtqueue_kick.  I audited both and this
seems safe in practice but this is not guaranteed by the API.
Additionally, a spurious interrupt might in theory make
virtqueue_get_buf run in parallel with virtqueue_add_buf, which is
racy.

While we might try to protect against spurious callbacks it's
easier to fix the driver: balloon seems to be the only one
(mis)using the API like this, so let's just fix balloon.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (removed unused var)
drivers/virtio/virtio_balloon.c