From f9675b3ff7456495171960419ba924e66aabf9af Mon Sep 17 00:00:00 2001 From: jiangdongxu Date: Wed, 13 Mar 2024 17:16:33 +0800 Subject: [PATCH] libvirt update to version 6.2.0-61 - vdpa: Release pci slot address when unplugging vdpa device - vdpa: return pcieFlags when calculate vdpa passthrough devices. Signed-off-by: jiangdongxu --- libvirt.spec | 26 ++++++++----- ...-slot-address-when-unplugging-vdpa-d.patch | 39 +++++++++++++++++++ ...Flags-when-calculate-vdpa-passthroug.patch | 32 +++++++++++++++ 3 files changed, 87 insertions(+), 10 deletions(-) create mode 100644 vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch create mode 100644 vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch diff --git a/libvirt.spec b/libvirt.spec index 5d238ff..ed6327e 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -101,7 +101,7 @@ Summary: Library providing a simple virtualization API Name: libvirt Version: 6.2.0 -Release: 63 +Release: 64 License: LGPLv2+ URL: https://libvirt.org/ @@ -504,12 +504,14 @@ Patch0391: node_device-fix-leak-of-DIR.patch Patch0392: vdpa-Introduce-the-new-device-type-vdpa-to-hostdev.patch Patch0393: vdpa-support-vdpa-device-hot-plug-unplug.patch Patch0394: vdpa-support-vdpa-device-migrate.patch -Patch0395: virsh-Fix-off-by-one-error-in-udevListInterfacesBySt.patch -Patch0396: remote-check-for-negative-array-lengths-before-alloc.patch -Patch0397: interface-fix-udev_device_get_sysattr_value-return-v.patch -Patch0398: util-keep-track-of-full-GSource-object-not-source-ID.patch -Patch0399: rpc-mark-source-returned-by-virEventGLibAddSocketWat.patch -Patch0400: rpc-ensure-temporary-GSource-is-removed-from-client-.patch +Patch0395: vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch +Patch0396: vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch +Patch0396: virsh-Fix-off-by-one-error-in-udevListInterfacesBySt.patch +Patch0397: remote-check-for-negative-array-lengths-before-alloc.patch +Patch0398: interface-fix-udev_device_get_sysattr_value-return-v.patch +Patch0399: util-keep-track-of-full-GSource-object-not-source-ID.patch +Patch0400: rpc-mark-source-returned-by-virEventGLibAddSocketWat.patch +Patch0401: rpc-ensure-temporary-GSource-is-removed-from-client-.patch Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} @@ -2246,19 +2248,23 @@ exit 0 %changelog -* Fri May 24 2024 jiangjiacheng - 6.2.0-63 +* Fri May 24 2024 jiangjiacheng - 6.2.0-64 - util: keep track of full GSource object not source ID number - rpc: mark source returned by virEventGLibAddSocketWatch as unused - rpc: ensure temporary GSource is removed from client event loop (CVE-2024-4418) -* Wed Apr 10 2024 caozhongwang +* Wed Apr 10 2024 caozhongwang - 6.2.0-63 - interface: fix udev_device_get_sysattr_value return value check (CVE-2024-2496) - remote: check for negative array lengths before allocation (CVE-2024-2494) - vish:Fix off-by-one error in udevListInterfacesByStatus (CVE-2024-1441) -* Wed Mar 20 2024 Jian Chunfu - 6.2.0-61 +* Wed Mar 20 2024 Jian Chunfu - 6.2.0-62 - spec: Add support for the ppc64le platform +* Wed Mar 13 2024 jiangdongxu - 6.2.0-61 +- vdpa: Release pci slot address when unplugging vdpa device +- vdpa: return pcieFlags when calculate vdpa passthrough devices. + * Wed Nov 29 2023 Jiabo Feng - 6.2.0-60 - vdpa: support vdpa device migrate - vdpa: support vdpa device hot plug/unplug diff --git a/vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch b/vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch new file mode 100644 index 0000000..7a2f0b2 --- /dev/null +++ b/vdpa-Release-pci-slot-address-when-unplugging-vdpa-d.patch @@ -0,0 +1,39 @@ +From 9858958385ae145196a0b95befbd9ae8f2f5ce18 Mon Sep 17 00:00:00 2001 +From: jiangdongxu1 +Date: Wed, 13 Mar 2024 15:28:47 +0800 +Subject: [PATCH] vdpa: Release pci slot address when unplugging vdpa device + +Signed-off-by: jiangdongxu1 +--- + src/qemu/qemu_hotplug.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c +index 3c5540291b..f44ac938ae 100644 +--- a/src/qemu/qemu_hotplug.c ++++ b/src/qemu/qemu_hotplug.c +@@ -4560,6 +4560,12 @@ qemuDomainRemoveMediatedDevice(virQEMUDriverPtr driver, + qemuDomainReleaseDeviceAddress(vm, hostdev->info); + } + ++static void ++qemuDomainRemoveVDPADevice(virDomainObjPtr vm, ++ virDomainHostdevDefPtr hostdev) ++{ ++ qemuDomainReleaseDeviceAddress(vm, hostdev->info); ++} + + static int + qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, +@@ -4653,6 +4659,8 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, + qemuDomainRemoveMediatedDevice(driver, vm, hostdev); + break; + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_VDPA: ++ qemuDomainRemoveVDPADevice(vm, hostdev); ++ break; + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_LAST: + break; + } +-- +2.27.0 + diff --git a/vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch b/vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch new file mode 100644 index 0000000..6fbca02 --- /dev/null +++ b/vdpa-return-pcieFlags-when-calculate-vdpa-passthroug.patch @@ -0,0 +1,32 @@ +From 78b7156840b421becd45c13c0ff4da57c314b4a5 Mon Sep 17 00:00:00 2001 +From: jiangdongxu1 +Date: Wed, 13 Mar 2024 15:23:57 +0800 +Subject: [PATCH] vdpa: return pcieFlags when calculate vdpa passthrough + devices. + +Signed-off-by: jiangdongxu1 +--- + src/qemu/qemu_domain_address.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c +index 6649553486..ce40fdc928 100644 +--- a/src/qemu/qemu_domain_address.c ++++ b/src/qemu/qemu_domain_address.c +@@ -825,6 +825,13 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDefPtr dev, + if (hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV) + return pcieFlags; + ++ /* ++ * vDPA passthrough is currently only support on arm architechture. ++ * Thus, we just assume it's PCI Express. ++ */ ++ if (hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_VDPA) ++ return pcieFlags; ++ + /* according to pbonzini, from the guest PoV vhost-scsi devices + * are the same as virtio-scsi, so they should follow virtio logic + */ +-- +2.27.0 +