aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/vhost
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/vhost')
-rw-r--r--drivers/vhost/vhost.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 5c9c657ab753..750effe0f98b 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -1036,7 +1036,12 @@ int vhost_add_used(struct vhost_virtqueue *vq, unsigned int head, int len)
1036/* This actually signals the guest, using eventfd. */ 1036/* This actually signals the guest, using eventfd. */
1037void vhost_signal(struct vhost_dev *dev, struct vhost_virtqueue *vq) 1037void vhost_signal(struct vhost_dev *dev, struct vhost_virtqueue *vq)
1038{ 1038{
1039 __u16 flags = 0; 1039 __u16 flags;
1040 /* Flush out used index updates. This is paired
1041 * with the barrier that the Guest executes when enabling
1042 * interrupts. */
1043 smp_mb();
1044
1040 if (get_user(flags, &vq->avail->flags)) { 1045 if (get_user(flags, &vq->avail->flags)) {
1041 vq_err(vq, "Failed to get flags"); 1046 vq_err(vq, "Failed to get flags");
1042 return; 1047 return;