Skip to contentSkip to conversation

vhost: pass corrent log base to kernel

PATCH In review Wen Congyang 2 participants 2 messages Apr 15, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 vhost: pass corrent log base to kernel

---
 hw/virtio/vhost.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
hw/virtio/vhost.c +1 -1
index 5a12861..4e334ca 100644
@@ -1060,7 +1060,7 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
         hdev->log_size = vhost_get_log_size(hdev);
         hdev->log = hdev->log_size ?
             g_malloc0(hdev->log_size * sizeof *hdev->log) : NULL;
-        r = hdev->vhost_ops->vhost_call(hdev, VHOST_SET_LOG_BASE, hdev->log);
+        r = hdev->vhost_ops->vhost_call(hdev, VHOST_SET_LOG_BASE, &hdev->log);
         if (r < 0) {
             r = -errno;
             goto fail_log;
Signature · 1 line
2.1.0
#1 lore raw
Quoted 10 lines · Wen Congyang
---
 hw/virtio/vhost.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
hw/virtio/vhost.c +0 -0
index 5a12861..4e334ca 100644

hw/virtio/vhost.c int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev) · line 1066

Quoted 8 lines
hw/virtio/vhost.c +1 -1
@@ -1060,7 +1060,7 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
         hdev->log_size = vhost_get_log_size(hdev);
         hdev->log = hdev->log_size ?
             g_malloc0(hdev->log_size * sizeof *hdev->log) : NULL;
-        r = hdev->vhost_ops->vhost_call(hdev, VHOST_SET_LOG_BASE, hdev->log);
+        r = hdev->vhost_ops->vhost_call(hdev, VHOST_SET_LOG_BASE, &hdev->log);
         if (r < 0) {
             r = -errno;
             goto fail_log;

Wow that's a serious bug.
But your patch won't work correctly on 32 bit systems. I'll send a fixed patch.
Thanks!

Quoted 2 lines
Signature · 1 line
2.1.0