summaryrefslogtreecommitdiffstats
path: root/hw/i386
diff options
context:
space:
mode:
authorGonglei2014-04-03 07:18:23 +0200
committerPaolo Bonzini2014-05-13 13:12:04 +0200
commitee11f7a8227bcd9cb8d8141fa8f6a0352f7c0c68 (patch)
tree2e0273b088f9692a8fbad878eaf292914d5fcf44 /hw/i386
parentkvm: make one_reg helpers available for everyone (diff)
downloadqemu-ee11f7a8227bcd9cb8d8141fa8f6a0352f7c0c68.tar.gz
qemu-ee11f7a8227bcd9cb8d8141fa8f6a0352f7c0c68.tar.xz
qemu-ee11f7a8227bcd9cb8d8141fa8f6a0352f7c0c68.zip
pci-assign: Fix a bug when map MSI-X table memory failed
When mmapping memory for the MSI-X table failsthe dev->msix_table is not set to NULL and assigned_dev_unregister_msix_mmio() will cause a segfault when trying to munmap it. Signed-off-by: Gonglei Arei <arei.gonglei@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Diffstat (limited to 'hw/i386')
-rw-r--r--hw/i386/kvm/pci-assign.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
index e55421adcd..0572821f21 100644
--- a/hw/i386/kvm/pci-assign.c
+++ b/hw/i386/kvm/pci-assign.c
@@ -1664,6 +1664,7 @@ static void assigned_dev_register_msix_mmio(AssignedDevice *dev, Error **errp)
MAP_ANONYMOUS|MAP_PRIVATE, 0, 0);
if (dev->msix_table == MAP_FAILED) {
error_setg_errno(errp, errno, "failed to allocate msix_table");
+ dev->msix_table = NULL;
return;
}