parent
fe9b17a593
commit
8cf46f0c49
@ -0,0 +1,61 @@
|
||||
From 21236464550a1a4c844de937e48ff88619228ed7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@redhat.com>
|
||||
Date: Mon, 18 Nov 2024 16:34:40 +0100
|
||||
Subject: [PATCH 1/3] vfio/container: Fix container object destruction
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
RH-Author: Cédric Le Goater <clg@redhat.com>
|
||||
RH-MergeRequest: 294: vfio/container: Fix container object destruction
|
||||
RH-Jira: RHEL-67936
|
||||
RH-Acked-by: Eric Auger <eric.auger@redhat.com>
|
||||
RH-Acked-by: Alex Williamson <None>
|
||||
RH-Commit: [1/1] 5ae46457515b16aee12f5e010d9ef3179525f57f (clegoate/qemu-kvm-centos)
|
||||
|
||||
JIRA: https://issues.redhat.com/browse/RHEL-67936
|
||||
|
||||
commit ebbf7c60bbd1ceedf9faf962e428ceda2388c248
|
||||
Author: Cédric Le Goater <clg@redhat.com>
|
||||
Date: Fri Nov 15 09:34:40 2024 +0100
|
||||
|
||||
vfio/container: Fix container object destruction
|
||||
|
||||
When commit 96b7af4388b3 intoduced a .instance_finalize() handler,
|
||||
it did not take into account that the container was not necessarily
|
||||
inserted into the container list of the address space. Hence, if
|
||||
the container object is destroyed, by calling object_unref() for
|
||||
example, before vfio_address_space_insert() is called, QEMU may
|
||||
crash when removing the container from the list as done in
|
||||
vfio_container_instance_finalize(). This was seen with an SEV-SNP
|
||||
guest for which discarding of RAM fails.
|
||||
|
||||
To resolve this issue, use the safe version of QLIST_REMOVE().
|
||||
|
||||
Cc: Zhenzhong Duan <zhenzhong.duan@intel.com>
|
||||
Cc: Eric Auger <eric.auger@redhat.com>
|
||||
Fixes: 96b7af4388b3 ("vfio/container: Move vfio_container_destroy() to an instance_finalize() handler")
|
||||
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
|
||||
Signed-off-by: Cédric Le Goater <clg@redhat.com>
|
||||
|
||||
Signed-off-by: Cédric Le Goater <clg@redhat.com>
|
||||
---
|
||||
hw/vfio/container-base.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/vfio/container-base.c b/hw/vfio/container-base.c
|
||||
index 809b157674..6f86c37d97 100644
|
||||
--- a/hw/vfio/container-base.c
|
||||
+++ b/hw/vfio/container-base.c
|
||||
@@ -103,7 +103,7 @@ static void vfio_container_instance_finalize(Object *obj)
|
||||
VFIOContainerBase *bcontainer = VFIO_IOMMU(obj);
|
||||
VFIOGuestIOMMU *giommu, *tmp;
|
||||
|
||||
- QLIST_REMOVE(bcontainer, next);
|
||||
+ QLIST_SAFE_REMOVE(bcontainer, next);
|
||||
|
||||
QLIST_FOREACH_SAFE(giommu, &bcontainer->giommu_list, giommu_next, tmp) {
|
||||
memory_region_unregister_iommu_notifier(
|
||||
--
|
||||
2.39.3
|
||||
|
@ -0,0 +1,49 @@
|
||||
From cd94a5c750554f21ddbff37f53ff629128200259 Mon Sep 17 00:00:00 2001
|
||||
From: "Michael S. Tsirkin" <mst@redhat.com>
|
||||
Date: Wed, 6 Nov 2024 17:29:35 -0500
|
||||
Subject: [PATCH 2/3] virtio-net: disable USO for RHEL9
|
||||
|
||||
RH-Author: MST <mst@redhat.com>
|
||||
RH-MergeRequest: 289: Disable USO for virtio-net to fix RHEL10 to RHEL9 migration
|
||||
RH-Jira: RHEL-40950
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Commit: [1/1] 9fc588b66c5bad72df1e9b644f48a2a7aa82bfa3 (mstredhat/qemu-kvm-centos)
|
||||
|
||||
Theoretically, QEMU from RHEL9.3 and on supports USO,
|
||||
but practically we clear the support because RHEL9
|
||||
kernels do not support that.
|
||||
|
||||
Now that RHEL10 beta does we suddenly get a migration compatibility
|
||||
issue. We should not have enabled the feature in RHEL9 userspace,
|
||||
but luckily, it's not too late to fix that.
|
||||
|
||||
Note: if we ever change RHEL9 kernel to enable USO, we will need to
|
||||
mask this in RHEL9 QEMU, too.
|
||||
|
||||
Upstream status: n/a: upstream has no guarantee if kernel features change
|
||||
Tested: lightly on developer's machine.
|
||||
JIRA: https://issues.redhat.com/browse/RHEL-40950
|
||||
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||||
---
|
||||
hw/core/machine.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/hw/core/machine.c b/hw/core/machine.c
|
||||
index d95f246f66..04d180eac4 100644
|
||||
--- a/hw/core/machine.c
|
||||
+++ b/hw/core/machine.c
|
||||
@@ -337,6 +337,11 @@ GlobalProperty hw_compat_rhel_9_5[] = {
|
||||
{ TYPE_VIRTIO_IOMMU_PCI, "aw-bits", "64" },
|
||||
/* hw_compat_rhel_9_5 from hw_compat_8_2 */
|
||||
{ "virtio-gpu-device", "x-scanout-vmstate-version", "1" },
|
||||
+ /* supported by userspace, but RHEL 9 *kernels* do not support USO. */
|
||||
+ /* TODO: if we ever add 9.6 compat, this has to be there, too */
|
||||
+ { TYPE_VIRTIO_NET, "host_uso", "off"},
|
||||
+ { TYPE_VIRTIO_NET, "guest_uso4", "off"},
|
||||
+ { TYPE_VIRTIO_NET, "guest_uso6", "off"},
|
||||
};
|
||||
const size_t hw_compat_rhel_9_5_len = G_N_ELEMENTS(hw_compat_rhel_9_5);
|
||||
|
||||
--
|
||||
2.39.3
|
||||
|
Loading…
Reference in new issue