]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
vhost/scsi: call vhost_dev_cleanup() at unrealize() time
authorIgor Mammedov <imammedo@redhat.com>
Thu, 30 Jul 2015 13:29:59 +0000 (15:29 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 30 Jul 2015 13:45:07 +0000 (15:45 +0200)
vhost-scsi calls vhost_dev_init() at realize() time
but forgets to call it's counterpart vhost_dev_cleanup()
at unrealize() time.

Calling it should fix leaking of memory table and
mem_sections table in vhost device. And also unregister
vhost's memory listerner to prevent access from
memory core to freed memory.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <1438262999-287627-1-git-send-email-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/vhost-scsi.c

index a69918bef831786fd3a4044db9749f4eea14c06e..0dd57ff6b49f6cdd797d15845b2c37d1305d0bd3 100644 (file)
@@ -277,6 +277,7 @@ static void vhost_scsi_unrealize(DeviceState *dev, Error **errp)
     /* This will stop vhost backend. */
     vhost_scsi_set_status(vdev, 0);
 
+    vhost_dev_cleanup(&s->dev);
     g_free(s->dev.vqs);
 
     virtio_scsi_common_unrealize(dev, errp);