[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] pci-assign: Fix a bug when map MSI-X table
From: |
Gonglei (Arei) |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] pci-assign: Fix a bug when map MSI-X table memory failed |
Date: |
Tue, 8 Apr 2014 14:02:04 +0000 |
Hi, mst and alex.
Ping... These two bug fix can be accepted for KVM pci-assign ? Thanks.
BTW, I have finished the testing work of the Emulex Corporation
OneConnect NIC (Lancer) Nic by vfio-pci, and the pass-troughed VF works well.
My environment of testing as follows:
Host: 3.12.16-0.6.6-default
Guest: Suse11sp1, linux-2.6.32.59-0.7
VF: 04:01.5 Ethernet controller: Emulex Corporation Device e228 (rev 10)
Qemu command:
/usr/bin/qemu-kvm -name suse -cpu kvm64,+x2apic -enable-kvm -m 4096 -smp
1,sockets=1,cores=1,threads=1 \
-drive
file=/opt/suse11sp1.img,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native
-device virtio-blk-pci,scsi=off,bus=pci.0, \
addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive
if=none,id=drive-ide0-1-1,readonly=on,format=raw,cache=none, \
aio=native -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1
-vnc 0.0.0.0:0 -vga cirrus -device vfio-pci,host=04:01.5
> Subject: [PATCH 1/2] pci-assign: Fix a bug when map MSI-X table memory failed
>
> From: Gonglei <address@hidden>
>
> when map MSI-X table memory failed, the dev->msix_table not be
> set to NULL, the assigned_dev_unregister_msix_mmio() will case
> a segfault when munmap the failed dev->msix_table.
>
> Signed-off-by: Gonglei <address@hidden>
> ---
> hw/i386/kvm/pci-assign.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
> index a825871..570333f 100644
> --- a/hw/i386/kvm/pci-assign.c
> +++ b/hw/i386/kvm/pci-assign.c
> @@ -1608,6 +1608,7 @@ static int
> assigned_dev_register_msix_mmio(AssignedDevice *dev)
> MAP_ANONYMOUS|MAP_PRIVATE, 0, 0);
> if (dev->msix_table == MAP_FAILED) {
> error_report("fail allocate msix_table! %s", strerror(errno));
> + dev->msix_table = NULL;
> return -EFAULT;
> }
>
> --
> 1.7.12.4
>