Re: [PATCH RFC] virtio-balloon: fix add/get API use
From: Rusty Russell <hidden>
Date: 2012-07-04 04:08:05
Also in:
kvm, lkml
From: Rusty Russell <hidden>
Date: 2012-07-04 04:08:05
Also in:
kvm, lkml
On Mon, 2 Jul 2012 10:33:08 +0300, "Michael S. Tsirkin" [off-list ref] wrote:
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>
I was thinking of a spinlock, but this is far more elegant. And I added an explicit reference to the 'virtio: expose added descriptors immediately.' commit in your commit msg. Kudos! Rusty.