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 <arei.gong...@huawei.com> > > 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 <arei.gong...@huawei.com> > --- > 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 >