diff --git a/SOURCES/kvm-kvm-error-out-of-kvm_irqchip_add_msi_route-in-case-o.patch b/SOURCES/kvm-kvm-error-out-of-kvm_irqchip_add_msi_route-in-case-o.patch new file mode 100644 index 0000000..5116b96 --- /dev/null +++ b/SOURCES/kvm-kvm-error-out-of-kvm_irqchip_add_msi_route-in-case-o.patch @@ -0,0 +1,76 @@ +From 8a8fa4ab4dc05502550ca207926cd0c93a3341ea Mon Sep 17 00:00:00 2001 +From: Igor Mammedov +Date: Mon, 8 Apr 2024 12:43:49 +0200 +Subject: [PATCH] kvm: error out of kvm_irqchip_add_msi_route() in case of full + route table + +RH-Author: Igor Mammedov +RH-MergeRequest: 374: kvm: error out of kvm_irqchip_add_msi_route() in case of full route table +RH-Jira: RHEL-32990 +RH-Acked-by: Ani Sinha +RH-Acked-by: Miroslav Rezanina +RH-Commit: [1/1] df31f2d0cafe10a1ac22a2bebb85dc17c1e891e0 + +RH-Jira: RHEL-32990 + +subj is calling kvm_add_routing_entry() which simply extends + KVMState::irq_routes::entries[] +but doesn't check if number of routes goes beyond limit the kernel +is willing to accept. Which later leads toi the assert + + qemu-kvm: ../accel/kvm/kvm-all.c:1833: kvm_irqchip_commit_routes: Assertion `ret == 0' failed + +typically it happens during guest boot for large enough guest + +Reproduced with: + ./qemu --enable-kvm -m 8G -smp 64 -machine pc \ + `for b in {1..2}; do echo -n "-device pci-bridge,id=pci$b,chassis_nr=$b "; + for i in {0..31}; do touch /tmp/vblk$b$i; + echo -n "-drive file=/tmp/vblk$b$i,if=none,id=drive$b$i,format=raw + -device virtio-blk-pci,drive=drive$b$i,bus=pci$b "; + done; done` + +While crash at boot time is bad, the same might happen at hotplug time +which is unacceptable. +So instead calling kvm_add_routing_entry() unconditionally, check first +that number of routes won't exceed KVM_CAP_IRQ_ROUTING. This way virtio +device insteads killin qemu, will gracefully fail to initialize device +as expected with following warnings on console: + virtio-blk failed to set guest notifier (-28), ensure -accel kvm is set. + virtio_bus_start_ioeventfd: failed. Fallback to userspace (slower). + +Signed-off-by: Igor Mammedov +--- + accel/kvm/kvm-all.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c +index e39a810a4e..f1a4564cbd 100644 +--- a/accel/kvm/kvm-all.c ++++ b/accel/kvm/kvm-all.c +@@ -2000,12 +2000,17 @@ int kvm_irqchip_add_msi_route(KVMRouteChange *c, int vector, PCIDevice *dev) + return -EINVAL; + } + +- trace_kvm_irqchip_add_msi_route(dev ? dev->name : (char *)"N/A", +- vector, virq); ++ if (s->irq_routes->nr < s->gsi_count) { ++ trace_kvm_irqchip_add_msi_route(dev ? dev->name : (char *)"N/A", ++ vector, virq); + +- kvm_add_routing_entry(s, &kroute); +- kvm_arch_add_msi_route_post(&kroute, vector, dev); +- c->changes++; ++ kvm_add_routing_entry(s, &kroute); ++ kvm_arch_add_msi_route_post(&kroute, vector, dev); ++ c->changes++; ++ } else { ++ kvm_irqchip_release_virq(s, virq); ++ return -ENOSPC; ++ } + + return virq; + } +-- +2.39.3 + diff --git a/SOURCES/kvm-virtio-pci-fix-use-of-a-released-vector.patch b/SOURCES/kvm-virtio-pci-fix-use-of-a-released-vector.patch new file mode 100644 index 0000000..4128907 --- /dev/null +++ b/SOURCES/kvm-virtio-pci-fix-use-of-a-released-vector.patch @@ -0,0 +1,162 @@ +From ccd8ffa5cd7f9bcfddeda7a9fa1ad86d4bad870e Mon Sep 17 00:00:00 2001 +From: Cindy Lu +Date: Fri, 12 Apr 2024 14:26:55 +0800 +Subject: [PATCH] virtio-pci: fix use of a released vector +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +RH-Author: Cindy Lu +RH-MergeRequest: 366: virtio-pci: fix use of a released vector +RH-Jira: RHEL-32837 +RH-Acked-by: Laurent Vivier +RH-Acked-by: Jason Wang +RH-Commit: [1/1] edd26ffb8727635310aed42e42925afe87df2287 + +During the booting process of the non-standard image, the behavior of the +called function in qemu is as follows: + +1. vhost_net_stop() was triggered by guest image. This will call the function +virtio_pci_set_guest_notifiers() with assgin= false, +virtio_pci_set_guest_notifiers() will release the irqfd for vector 0 + +2. virtio_reset() was triggered, this will set configure vector to VIRTIO_NO_VECTOR + +3.vhost_net_start() was called (at this time, the configure vector is +still VIRTIO_NO_VECTOR) and then call virtio_pci_set_guest_notifiers() with +assgin=true, so the irqfd for vector 0 is still not "init" during this process + +4. The system continues to boot and sets the vector back to 0. After that +msix_fire_vector_notifier() was triggered to unmask the vector 0 and meet the crash + +To fix the issue, we need to support changing the vector after VIRTIO_CONFIG_S_DRIVER_OK is set. + +(gdb) bt +0 __pthread_kill_implementation (threadid=, signo=signo@entry=6, no_tid=no_tid@entry=0) + at pthread_kill.c:44 +1 0x00007fc87148ec53 in __pthread_kill_internal (signo=6, threadid=) at pthread_kill.c:78 +2 0x00007fc87143e956 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 +3 0x00007fc8714287f4 in __GI_abort () at abort.c:79 +4 0x00007fc87142871b in __assert_fail_base + (fmt=0x7fc8715bbde0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5606413efd53 "ret == 0", file=0x5606413ef87d "../accel/kvm/kvm-all.c", line=1837, function=) at assert.c:92 +5 0x00007fc871437536 in __GI___assert_fail + (assertion=0x5606413efd53 "ret == 0", file=0x5606413ef87d "../accel/kvm/kvm-all.c", line=1837, function=0x5606413f06f0 <__PRETTY_FUNCTION__.19> "kvm_irqchip_commit_routes") at assert.c:101 +6 0x0000560640f884b5 in kvm_irqchip_commit_routes (s=0x560642cae1f0) at ../accel/kvm/kvm-all.c:1837 +7 0x0000560640c98f8e in virtio_pci_one_vector_unmask + (proxy=0x560643c65f00, queue_no=4294967295, vector=0, msg=..., n=0x560643c6e4c8) + at ../hw/virtio/virtio-pci.c:1005 +8 0x0000560640c99201 in virtio_pci_vector_unmask (dev=0x560643c65f00, vector=0, msg=...) + at ../hw/virtio/virtio-pci.c:1070 +9 0x0000560640bc402e in msix_fire_vector_notifier (dev=0x560643c65f00, vector=0, is_masked=false) + at ../hw/pci/msix.c:120 +10 0x0000560640bc40f1 in msix_handle_mask_update (dev=0x560643c65f00, vector=0, was_masked=true) + at ../hw/pci/msix.c:140 +11 0x0000560640bc4503 in msix_table_mmio_write (opaque=0x560643c65f00, addr=12, val=0, size=4) + at ../hw/pci/msix.c:231 +12 0x0000560640f26d83 in memory_region_write_accessor + (mr=0x560643c66540, addr=12, value=0x7fc86b7bc628, size=4, shift=0, mask=4294967295, attrs=...) + at ../system/memory.c:497 +13 0x0000560640f270a6 in access_with_adjusted_size + + (addr=12, value=0x7fc86b7bc628, size=4, access_size_min=1, access_size_max=4, access_fn=0x560640f26c8d , mr=0x560643c66540, attrs=...) at ../system/memory.c:573 +14 0x0000560640f2a2b5 in memory_region_dispatch_write (mr=0x560643c66540, addr=12, data=0, op=MO_32, attrs=...) + at ../system/memory.c:1521 +15 0x0000560640f37bac in flatview_write_continue + (fv=0x7fc65805e0b0, addr=4273803276, attrs=..., ptr=0x7fc871e9c028, len=4, addr1=12, l=4, mr=0x560643c66540) + at ../system/physmem.c:2714 +16 0x0000560640f37d0f in flatview_write + (fv=0x7fc65805e0b0, addr=4273803276, attrs=..., buf=0x7fc871e9c028, len=4) at ../system/physmem.c:2756 +17 0x0000560640f380bf in address_space_write + (as=0x560642161ae0 , addr=4273803276, attrs=..., buf=0x7fc871e9c028, len=4) + at ../system/physmem.c:2863 +18 0x0000560640f3812c in address_space_rw + (as=0x560642161ae0 , addr=4273803276, attrs=..., buf=0x7fc871e9c028, len=4, is_write=true) at ../system/physmem.c:2873 +--Type for more, q to quit, c to continue without paging-- +19 0x0000560640f8aa55 in kvm_cpu_exec (cpu=0x560642f205e0) at ../accel/kvm/kvm-all.c:2915 +20 0x0000560640f8d731 in kvm_vcpu_thread_fn (arg=0x560642f205e0) at ../accel/kvm/kvm-accel-ops.c:51 +21 0x00005606411949f4 in qemu_thread_start (args=0x560642f292b0) at ../util/qemu-thread-posix.c:541 +22 0x00007fc87148cdcd in start_thread (arg=) at pthread_create.c:442 +23 0x00007fc871512630 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 +(gdb) + +MST: coding style and typo fixups + +Fixes: f9a09ca3ea ("vhost: add support for configure interrupt") +Cc: qemu-stable@nongnu.org +Signed-off-by: Cindy Lu +Message-ID: <2321ade5f601367efe7380c04e3f61379c59b48f.1713173550.git.mst@redhat.com> +Cc: Lei Yang +Cc: Jason Wang +Signed-off-by: Michael S. Tsirkin +Tested-by: Cindy Lu +(cherry picked from commit 2ce6cff94df2650c460f809e5ad263f1d22507c0) +Signed-off-by: Cindy Lu +--- + hw/virtio/virtio-pci.c | 37 +++++++++++++++++++++++++++++++++++-- + 1 file changed, 35 insertions(+), 2 deletions(-) + +diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c +index e433879542..08faefe29a 100644 +--- a/hw/virtio/virtio-pci.c ++++ b/hw/virtio/virtio-pci.c +@@ -1424,6 +1424,38 @@ static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy, + return offset; + } + ++static void virtio_pci_set_vector(VirtIODevice *vdev, ++ VirtIOPCIProxy *proxy, ++ int queue_no, uint16_t old_vector, ++ uint16_t new_vector) ++{ ++ bool kvm_irqfd = (vdev->status & VIRTIO_CONFIG_S_DRIVER_OK) && ++ msix_enabled(&proxy->pci_dev) && kvm_msi_via_irqfd_enabled(); ++ ++ if (new_vector == old_vector) { ++ return; ++ } ++ ++ /* ++ * If the device uses irqfd and the vector changes after DRIVER_OK is ++ * set, we need to release the old vector and set up the new one. ++ * Otherwise just need to set the new vector on the device. ++ */ ++ if (kvm_irqfd && old_vector != VIRTIO_NO_VECTOR) { ++ kvm_virtio_pci_vector_release_one(proxy, queue_no); ++ } ++ /* Set the new vector on the device. */ ++ if (queue_no == VIRTIO_CONFIG_IRQ_IDX) { ++ vdev->config_vector = new_vector; ++ } else { ++ virtio_queue_set_vector(vdev, queue_no, new_vector); ++ } ++ /* If the new vector changed need to set it up. */ ++ if (kvm_irqfd && new_vector != VIRTIO_NO_VECTOR) { ++ kvm_virtio_pci_vector_use_one(proxy, queue_no); ++ } ++} ++ + int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy, + uint8_t bar, uint64_t offset, uint64_t length, + uint8_t id) +@@ -1570,7 +1602,8 @@ static void virtio_pci_common_write(void *opaque, hwaddr addr, + } else { + val = VIRTIO_NO_VECTOR; + } +- vdev->config_vector = val; ++ virtio_pci_set_vector(vdev, proxy, VIRTIO_CONFIG_IRQ_IDX, ++ vdev->config_vector, val); + break; + case VIRTIO_PCI_COMMON_STATUS: + if (!(val & VIRTIO_CONFIG_S_DRIVER_OK)) { +@@ -1610,7 +1643,7 @@ static void virtio_pci_common_write(void *opaque, hwaddr addr, + } else { + val = VIRTIO_NO_VECTOR; + } +- virtio_queue_set_vector(vdev, vdev->queue_sel, val); ++ virtio_pci_set_vector(vdev, proxy, vdev->queue_sel, vector, val); + break; + case VIRTIO_PCI_COMMON_Q_ENABLE: + if (val == 1) { +-- +2.39.3 + diff --git a/SPECS/qemu-kvm.spec b/SPECS/qemu-kvm.spec index 402e792..f6bab16 100644 --- a/SPECS/qemu-kvm.spec +++ b/SPECS/qemu-kvm.spec @@ -149,7 +149,7 @@ Obsoletes: %{name}-block-ssh <= %{epoch}:%{version} \ Summary: QEMU is a machine emulator and virtualizer Name: qemu-kvm Version: 8.2.0 -Release: 11%{?rcrel}%{?dist}%{?cc_suffix}.inferit +Release: 11%{?rcrel}%{?dist}%{?cc_suffix}.2.inferit # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped # Epoch 15 used for RHEL 8 # Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5) @@ -536,11 +536,11 @@ Patch138: kvm-tests-unit-Bump-test-replication-timeout-to-60-secon.patch Patch139: kvm-iotests-iothreads-stream-Use-the-right-TimeoutError.patch # For RHEL-24045 - QEMU: default-enable dynamically using multiple memslots for virtio-mem Patch140: kvm-virtio-mem-default-enable-dynamic-memslots.patch -# For RHEL-3934 - [qemu-kvm] Failed on repeatedly hotplug/unplug disk iothread enabled +# For RHEL-3934 - [qemu-kvm] Failed on repeatedly hotplug/unplug disk iothread enabled Patch141: kvm-virtio-scsi-Attach-event-vq-notifier-with-no_poll.patch -# For RHEL-3934 - [qemu-kvm] Failed on repeatedly hotplug/unplug disk iothread enabled +# For RHEL-3934 - [qemu-kvm] Failed on repeatedly hotplug/unplug disk iothread enabled Patch142: kvm-virtio-Re-enable-notifications-after-drain.patch -# For RHEL-3934 - [qemu-kvm] Failed on repeatedly hotplug/unplug disk iothread enabled +# For RHEL-3934 - [qemu-kvm] Failed on repeatedly hotplug/unplug disk iothread enabled Patch143: kvm-virtio-blk-Use-ioeventfd_attach-in-start_ioeventfd.patch # For RHEL-15394 - virtio-blk: qemu hang on "no response on QMP query-status" when write data to disk without enough space Patch144: kvm-virtio-blk-avoid-using-ioeventfd-state-in-irqfd-cond.patch @@ -610,6 +610,10 @@ Patch175: kvm-Revert-chardev-use-a-child-source-for-qio-input-sour.patch Patch176: kvm-coroutine-cap-per-thread-local-pool-size.patch # For RHEL-28947 - Qemu crashing with "failed to set up stack guard page: Cannot allocate memory" Patch177: kvm-coroutine-reserve-5-000-mappings.patch +# For RHEL-32837 - qemu-kvm running Vyatta hits assert when doing KVM_SET_GSI_ROUTING [rhel-9.4.z] +Patch178: kvm-virtio-pci-fix-use-of-a-released-vector.patch +# For RHEL-32990 - qemu crash with kvm_irqchip_commit_routes: Assertion `ret == 0' failed if booting with many virtio disks and vcpus [rhel-9.4.z] +Patch179: kvm-kvm-error-out-of-kvm_irqchip_add_msi_route-in-case-o.patch %if %{have_clang} BuildRequires: clang @@ -916,7 +920,7 @@ Summary: QEMU usbredir support Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} Requires: usbredir >= 0.7.1 Provides: %{name}-hw-usbredir -Obsoletes: %{name}-hw-usbredir <= %{epoch}:%{version} +Obsoletes: %{name}-hw-usbredir <= %{epoch}:%{version} %description device-usb-redirect This package provides usbredir support. @@ -1671,9 +1675,22 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %changelog +* Thu Jun 13 2024 Sergey Cherevko - 17:8.2.0-11.2.inferit +- Update to 8.2.0-11.el9_4.2 + +* Mon May 20 2024 Miroslav Rezanina - 8.2.0-11.el9_4.2 +- kvm-kvm-error-out-of-kvm_irqchip_add_msi_route-in-case-o.patch [RHEL-32990] +- Resolves: RHEL-32990 + (qemu crash with kvm_irqchip_commit_routes: Assertion `ret == 0' failed if booting with many virtio disks and vcpus [rhel-9.4.z]) + * Wed May 1 2024 Arkady L. Shane - 8.2.0-11.inferit - Added host_cdrom driver to whitelist (INF-741) +* Thu Apr 18 2024 Miroslav Rezanina - 8.2.0-11.el9_4.1 +- kvm-virtio-pci-fix-use-of-a-released-vector.patch [RHEL-32837] +- Resolves: RHEL-32837 + (qemu-kvm running Vyatta hits assert when doing KVM_SET_GSI_ROUTING [rhel-9.4.z]) + * Tue Mar 26 2024 Miroslav Rezanina - 8.2.0-11 - kvm-coroutine-cap-per-thread-local-pool-size.patch [RHEL-28947] - kvm-coroutine-reserve-5-000-mappings.patch [RHEL-28947] @@ -1972,304 +1989,28 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ - Resolves: RHEL-832 (qemu-kvm crashed when migrating guest with failover vf) -* Mon Sep 04 2023 Miroslav Rezanina - 8.1.0-1 -- Rebase to QEMU 8.1 [RHEL-870] -- Resolves: RHEL-870 - (Rebase qemu-kvm to QEMU 8.1.0) - -* Thu Aug 24 2023 Miroslav Rezanina - 8.0.0-13 -- kvm-vdpa-return-errno-in-vhost_vdpa_get_vring_group-erro.patch [RHEL-923] -- kvm-vdpa-move-CVQ-isolation-check-to-net_init_vhost_vdpa.patch [RHEL-923] -- kvm-vdpa-use-first-queue-SVQ-state-for-CVQ-default.patch [RHEL-923] -- kvm-vdpa-export-vhost_vdpa_set_vring_ready.patch [RHEL-923] -- kvm-vdpa-rename-vhost_vdpa_net_load-to-vhost_vdpa_net_cv.patch [RHEL-923] -- kvm-vdpa-move-vhost_vdpa_set_vring_ready-to-the-caller.patch [RHEL-923] -- kvm-vdpa-remove-net-cvq-migration-blocker.patch [RHEL-923] -- Resolves: RHEL-923 - (vhost shadow virtqueue: state restore through CVQ) - -* Mon Aug 21 2023 Miroslav Rezanina - 8.0.0-12 -- kvm-target-i386-allow-versioned-CPUs-to-specify-new-cach.patch [bz#2094913] -- kvm-target-i386-Add-new-EPYC-CPU-versions-with-updated-c.patch [bz#2094913] -- kvm-target-i386-Add-a-couple-of-feature-bits-in-8000_000.patch [bz#2094913] -- kvm-target-i386-Add-feature-bits-for-CPUID_Fn80000021_EA.patch [bz#2094913] -- kvm-target-i386-Add-missing-feature-bits-in-EPYC-Milan-m.patch [bz#2094913] -- kvm-target-i386-Add-VNMI-and-automatic-IBRS-feature-bits.patch [bz#2094913] -- kvm-target-i386-Add-EPYC-Genoa-model-to-support-Zen-4-pr.patch [bz#2094913] -- Resolves: bz#2094913 - (Add EPYC-Genoa CPU model in qemu) - -* Mon Aug 07 2023 Miroslav Rezanina - 8.0.0-11 -- kvm-block-blkio-enable-the-completion-eventfd.patch [bz#2225354 bz#2225439] -- kvm-block-blkio-do-not-use-open-flags-in-qemu_open.patch [bz#2225354 bz#2225439] -- kvm-block-blkio-move-blkio_connect-in-the-drivers-functi.patch [bz#2225354 bz#2225439] -- kvm-block-blkio-retry-blkio_connect-if-it-fails-using-fd.patch [bz#2225354 bz#2225439] -- kvm-block-blkio-fall-back-on-using-path-when-fd-setting-.patch [bz#2225354 bz#2225439] -- kvm-block-blkio-use-blkio_set_int-fd-to-check-fd-support.patch [bz#2225354 bz#2225439] -- kvm-hw-virtio-iommu-Fix-potential-OOB-access-in-virtio_i.patch [bz#2229133] -- kvm-virtio-iommu-Standardize-granule-extraction-and-form.patch [bz#2229133] -- kvm-hw-arm-smmu-Handle-big-endian-hosts-correctly.patch [bz#2229133] -- kvm-qapi-i386-sev-Change-the-reduced-phys-bits-value-fro.patch [bz#2214839] -- kvm-qemu-options.hx-Update-the-reduced-phys-bits-documen.patch [bz#2214839] -- kvm-i386-sev-Update-checks-and-information-related-to-re.patch [bz#2214839] -- kvm-i386-cpu-Update-how-the-EBX-register-of-CPUID-0x8000.patch [bz#2214839] -- kvm-Provide-elf2dmp-binary-in-qemu-tools.patch [bz#2165917] -- Resolves: bz#2225354 - ([vdpa-blk] The new driver virtio-blk-vhost-user not work in VM booting) -- Resolves: bz#2225439 - ([vdpa-blk] read-only=on option not work on driver virtio-blk-vhost-vdpa) -- Resolves: bz#2229133 - (Backport some virtio-iommu and smmu fixes) -- Resolves: bz#2214839 - ([AMDSERVER 9.3 Bug] Qemu SEV reduced-phys-bits fixes) -- Resolves: bz#2165917 - (qemu-kvm: contrib/elf2dmp: Windows Server 2022 support) - -* Mon Jul 31 2023 Miroslav Rezanina - 8.0.0-10 -- kvm-util-iov-Make-qiov_slice-public.patch [bz#2174676] -- kvm-block-Collapse-padded-I-O-vecs-exceeding-IOV_MAX.patch [bz#2174676] -- kvm-util-iov-Remove-qemu_iovec_init_extended.patch [bz#2174676] -- kvm-iotests-iov-padding-New-test.patch [bz#2174676] -- kvm-block-Fix-pad_request-s-request-restriction.patch [bz#2174676] -- kvm-vdpa-do-not-block-migration-if-device-has-cvq-and-x-.patch [RHEL-573] -- kvm-virtio-net-correctly-report-maximum-tx_queue_size-va.patch [bz#2040509] -- kvm-hw-pci-Disable-PCI_ERR_UNCOR_MASK-reg-for-machine-ty.patch [bz#2223691] -- kvm-vhost-vdpa-mute-unaligned-memory-error-report.patch [bz#2141965] -- Resolves: bz#2174676 - (Guest hit EXT4-fs error on host 4K disk when repeatedly hot-plug/unplug running IO disk [RHEL9]) -- Resolves: RHEL-573 - ([mlx vhost_vdpa][rhel 9.3]live migration fail with "net vdpa cannot migrate with CVQ feature") -- Resolves: bz#2040509 - ([RFE]:Add support for changing "tx_queue_size" to a setable value) -- Resolves: bz#2223691 - ([machine type 9.2]Failed to migrate VM from RHEL 9.3 to RHEL 9.2) -- Resolves: bz#2141965 - ([TPM][vhost-vdpa][rhel9.2]Boot a guest with "vhost-vdpa + TPM emulator", qemu output: qemu-kvm: vhost_vdpa_listener_region_add received unaligned region) - -* Mon Jul 24 2023 Miroslav Rezanina - 8.0.0-9 -- kvm-scsi-fetch-unit-attention-when-creating-the-request.patch [bz#2176702] -- kvm-scsi-cleanup-scsi_clear_unit_attention.patch [bz#2176702] -- kvm-scsi-clear-unit-attention-only-for-REPORT-LUNS-comma.patch [bz#2176702] -- kvm-s390x-ap-Wire-up-the-device-request-notifier-interfa.patch [RHEL-794] -- kvm-multifd-Create-property-multifd-flush-after-each-sec.patch [bz#2196295] -- kvm-multifd-Protect-multifd_send_sync_main-calls.patch [bz#2196295] -- kvm-multifd-Only-flush-once-each-full-round-of-memory.patch [bz#2196295] -- kvm-net-socket-prepare-to-cleanup-net_init_socket.patch [RHEL-582] -- kvm-net-socket-move-fd-type-checking-to-its-own-function.patch [RHEL-582] -- kvm-net-socket-remove-net_init_socket.patch [RHEL-582] -- kvm-pcie-Add-hotplug-detect-state-register-to-cmask.patch [bz#2215819] -- kvm-spec-Build-DBUS-display.patch [bz#2207940] -- Resolves: bz#2176702 - ([RHEL9][virtio-scsi] scsi-hd cannot hot-plug successfully after hot-plug it repeatly) -- Resolves: RHEL-794 - (Backport s390x fixes from QEMU 8.1) -- Resolves: bz#2196295 - (Multifd flushes its channels 10 times per second) -- Resolves: RHEL-582 - ([passt][rhel 9.3] qemu core dump occurs when guest is shutdown after hotunplug/hotplug a passt interface) -- Resolves: bz#2215819 - (Migration test failed while guest with PCIe devices) -- Resolves: bz#2207940 - ([RFE] Enable qemu-ui-dbus subpackage) - -* Mon Jul 17 2023 Miroslav Rezanina - 8.0.0-8 -- kvm-virtio-iommu-Fix-64kB-host-page-size-VFIO-device-ass.patch [bz#2211609 bz#2211634] -- kvm-virtio-iommu-Rework-the-traces-in-virtio_iommu_set_p.patch [bz#2211609 bz#2211634] -- kvm-vfio-pci-add-support-for-VF-token.patch [bz#2192818] -- kvm-vfio-migration-Skip-log_sync-during-migration-SETUP-.patch [bz#2192818] -- kvm-vfio-pci-Static-Resizable-BAR-capability.patch [bz#2192818] -- kvm-vfio-pci-Fix-a-use-after-free-issue.patch [bz#2192818] -- kvm-util-vfio-helpers-Use-g_file_read_link.patch [bz#2192818] -- kvm-migration-Make-all-functions-check-have-the-same-for.patch [bz#2192818] -- kvm-migration-Move-migration_properties-to-options.c.patch [bz#2192818] -- kvm-migration-Add-switchover-ack-capability.patch [bz#2192818] -- kvm-migration-Implement-switchover-ack-logic.patch [bz#2192818] -- kvm-migration-Enable-switchover-ack-capability.patch [bz#2192818] -- kvm-vfio-migration-Refactor-vfio_save_block-to-return-sa.patch [bz#2192818] -- kvm-vfio-migration-Store-VFIO-migration-flags-in-VFIOMig.patch [bz#2192818] -- kvm-vfio-migration-Add-VFIO-migration-pre-copy-support.patch [bz#2192818] -- kvm-vfio-migration-Add-support-for-switchover-ack-capabi.patch [bz#2192818] -- kvm-vfio-Implement-a-common-device-info-helper.patch [bz#2192818] -- kvm-hw-vfio-pci-quirks-Support-alternate-offset-for-GPUD.patch [bz#2192818] -- kvm-vfio-pci-Call-vfio_prepare_kvm_msi_virq_batch-in-MSI.patch [bz#2192818] -- kvm-vfio-migration-Reset-bytes_transferred-properly.patch [bz#2192818] -- kvm-vfio-migration-Make-VFIO-migration-non-experimental.patch [bz#2192818] -- kvm-vfio-pci-Fix-a-segfault-in-vfio_realize.patch [bz#2192818] -- kvm-vfio-pci-Free-leaked-timer-in-vfio_realize-error-pat.patch [bz#2192818] -- kvm-hw-vfio-pci-quirks-Sanitize-capability-pointer.patch [bz#2192818] -- kvm-vfio-pci-Disable-INTx-in-vfio_realize-error-path.patch [bz#2192818] -- kvm-vfio-migration-Change-vIOMMU-blocker-from-global-to-.patch [bz#2192818] -- kvm-vfio-migration-Free-resources-when-vfio_migration_re.patch [bz#2192818] -- kvm-vfio-migration-Remove-print-of-Migration-disabled.patch [bz#2192818] -- kvm-vfio-migration-Return-bool-type-for-vfio_migration_r.patch [bz#2192818] -- kvm-vfio-Fix-null-pointer-dereference-bug-in-vfio_bars_f.patch [bz#2192818] -- kvm-pc-bios-s390-ccw-Makefile-Use-z-noexecstack-to-silen.patch [bz#2220866] -- kvm-pc-bios-s390-ccw-Fix-indentation-in-start.S.patch [bz#2220866] -- kvm-pc-bios-s390-ccw-Provide-space-for-initial-stack-fra.patch [bz#2220866] -- kvm-pc-bios-s390-ccw-Don-t-use-__bss_start-with-the-larl.patch [bz#2220866] -- kvm-ui-Fix-pixel-colour-channel-order-for-PNG-screenshot.patch [bz#2222579] -- kvm-block-blkio-fix-module_block.py-parsing.patch [bz#2213317] -- kvm-Fix-virtio-blk-vhost-vdpa-typo-in-spec-file.patch [bz#2213317] -- Resolves: bz#2211609 - (With virtio-iommu and vfio-pci, qemu reports "warning: virtio-iommu page mask 0xfffffffffffff000 does not match 0x40201000") -- Resolves: bz#2211634 - ([aarch64] With virtio-iommu and vfio-pci, qemu coredump when host using kernel-64k package) -- Resolves: bz#2192818 - ([VFIO LM] Live migration) -- Resolves: bz#2220866 - (Misaligned symbol for s390-ccw image during qemu-kvm build) -- Resolves: bz#2222579 - (PNG screendump doesn't save screen correctly) -- Resolves: bz#2213317 - (Enable libblkio-based block drivers in QEMU) - -* Mon Jul 10 2023 Miroslav Rezanina - 8.0.0-7 -- kvm-numa-Validate-cluster-and-NUMA-node-boundary-if-requ.patch [bz#2171363] -- kvm-hw-arm-Validate-cluster-and-NUMA-node-boundary.patch [bz#2171363] -- kvm-hw-arm-virt-Validate-cluster-and-NUMA-node-boundary-.patch [bz#2171363] -- kvm-vhost-fix-vhost_dev_enable_notifiers-error-case.patch [RHEL-330] -- kvm-kvm-reuse-per-vcpu-stats-fd-to-avoid-vcpu-interrupti.patch [bz#2218644] -- kvm-vhost-vdpa-do-not-cleanup-the-vdpa-vhost-net-structu.patch [bz#2128929] -- Resolves: bz#2171363 - ([aarch64] Kernel hits Call trace with irregular CPU-to-NUMA association) -- Resolves: RHEL-330 - ([virtual network][qemu-kvm-8.0.0-rc1]qemu core dump: qemu-kvm: ../softmmu/memory.c:2592: void memory_region_del_eventfd(MemoryRegion *, hwaddr, unsigned int, _Bool, uint64_t, EventNotifier *): Assertion `i != mr->ioeventfd_nb' failed) -- Resolves: bz#2218644 - (query-stats QMP command interrupts vcpus, the Max Latencies could be more than 100us (rhel 9.3.0 clone)) -- Resolves: bz#2128929 - ([rhel9.2] hotplug/hotunplug mlx vdpa device to the occupied addr port, then qemu core dump occurs after shutdown guest) - -* Mon Jun 26 2023 Miroslav Rezanina - 8.0.0-6 -- kvm-target-i386-add-support-for-FLUSH_L1D-feature.patch [bz#2216201] -- kvm-target-i386-add-support-for-FB_CLEAR-feature.patch [bz#2216201] -- kvm-block-blkio-use-qemu_open-to-support-fd-passing-for-.patch [bz#2180076] -- kvm-qapi-add-fdset-feature-for-BlockdevOptionsVirtioBlkV.patch [bz#2180076] -- kvm-Enable-libblkio-block-drivers.patch [bz#2213317] -- Resolves: bz#2216201 - ([qemu-kvm]VM reports vulnerabilty to mmio_stale_data on patched host with microcode) -- Resolves: bz#2180076 - ([qemu-kvm] support fd passing for libblkio QEMU BlockDrivers) -- Resolves: bz#2213317 - (Enable libblkio-based block drivers in QEMU) - -* Tue Jun 13 2023 Miroslav Rezanina - 8.0.0-5 -- kvm-block-compile-out-assert_bdrv_graph_readable-by-defa.patch [bz#2186725] -- kvm-graph-lock-Disable-locking-for-now.patch [bz#2186725] -- kvm-nbd-server-Fix-drained_poll-to-wake-coroutine-in-rig.patch [bz#2186725] -- kvm-iotests-Test-commit-with-iothreads-and-ongoing-I-O.patch [bz#2186725] -- kvm-memory-prevent-dma-reentracy-issues.patch [RHEL-516] -- kvm-async-Add-an-optional-reentrancy-guard-to-the-BH-API.patch [RHEL-516] -- kvm-checkpatch-add-qemu_bh_new-aio_bh_new-checks.patch [RHEL-516] -- kvm-hw-replace-most-qemu_bh_new-calls-with-qemu_bh_new_g.patch [RHEL-516] -- kvm-lsi53c895a-disable-reentrancy-detection-for-script-R.patch [RHEL-516] -- kvm-bcm2835_property-disable-reentrancy-detection-for-io.patch [RHEL-516] -- kvm-raven-disable-reentrancy-detection-for-iomem.patch [RHEL-516] -- kvm-apic-disable-reentrancy-detection-for-apic-msi.patch [RHEL-516] -- kvm-async-avoid-use-after-free-on-re-entrancy-guard.patch [RHEL-516] -- kvm-loongarch-mark-loongarch_ipi_iocsr-re-entrnacy-safe.patch [RHEL-516] -- kvm-memory-stricter-checks-prior-to-unsetting-engaged_in.patch [RHEL-516] -- kvm-lsi53c895a-disable-reentrancy-detection-for-MMIO-reg.patch [RHEL-516] -- kvm-hw-scsi-lsi53c895a-Fix-reentrancy-issues-in-the-LSI-.patch [RHEL-516] -- kvm-hw-pci-Disable-PCI_ERR_UNCOR_MASK-register-for-machi.patch [bz#2189423] -- kvm-multifd-Fix-the-number-of-channels-ready.patch [bz#2196289] -- kvm-util-async-teardown-wire-up-query-command-line-optio.patch [bz#2168500] -- kvm-s390x-pv-Fix-spurious-warning-with-asynchronous-tear.patch [bz#2168500] -- Resolves: bz#2186725 - (Qemu hang when commit during fio running(iothread enable)) -- Resolves: RHEL-516 - (CVE-2023-2680 qemu-kvm: QEMU: hcd-ehci: DMA reentrancy issue (incomplete fix for CVE-2021-3750) [rhel-9]) -- Resolves: bz#2189423 - (Failed to migrate VM from rhel 9.3 to rhel 9.2) -- Resolves: bz#2196289 - (Fix number of ready channels on multifd) -- Resolves: bz#2168500 - ([IBM 9.3 FEAT] KVM: Improve memory reclaiming for z15 Secure Execution guests - qemu part) - -* Mon May 22 2023 Miroslav Rezanina - 8.0.0-4 -- kvm-migration-Attempt-disk-reactivation-in-more-failure-.patch [bz#2058982] -- kvm-util-mmap-alloc-qemu_fd_getfs.patch [bz#2057267] -- kvm-vl.c-Create-late-backends-before-migration-object.patch [bz#2057267] -- kvm-migration-postcopy-Detect-file-system-on-dest-host.patch [bz#2057267] -- kvm-migration-mark-mixed-functions-that-can-suspend.patch [bz#2057267] -- kvm-postcopy-ram-do-not-use-qatomic_mb_read.patch [bz#2057267] -- kvm-migration-remove-extra-whitespace-character-for-code.patch [bz#2057267] -- kvm-migration-Merge-ram_counters-and-ram_atomic_counters.patch [bz#2057267] -- kvm-migration-Update-atomic-stats-out-of-the-mutex.patch [bz#2057267] -- kvm-migration-Make-multifd_bytes-atomic.patch [bz#2057267] -- kvm-migration-Make-dirty_sync_missed_zero_copy-atomic.patch [bz#2057267] -- kvm-migration-Make-precopy_bytes-atomic.patch [bz#2057267] -- kvm-migration-Make-downtime_bytes-atomic.patch [bz#2057267] -- kvm-migration-Make-dirty_sync_count-atomic.patch [bz#2057267] -- kvm-migration-Make-postcopy_requests-atomic.patch [bz#2057267] -- kvm-migration-Rename-duplicate-to-zero_pages.patch [bz#2057267] -- kvm-migration-Rename-normal-to-normal_pages.patch [bz#2057267] -- kvm-migration-rename-enabled_capabilities-to-capabilitie.patch [bz#2057267] -- kvm-migration-Pass-migrate_caps_check-the-old-and-new-ca.patch [bz#2057267] -- kvm-migration-move-migration_global_dump-to-migration-hm.patch [bz#2057267] -- kvm-spice-move-client_migrate_info-command-to-ui.patch [bz#2057267] -- kvm-migration-Create-migrate_cap_set.patch [bz#2057267] -- kvm-migration-Create-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_colo_enabled-to-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_use_compression-to-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_use_events-to-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_use_multifd-to-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_use_zero_copy_send-to-options.patch [bz#2057267] -- kvm-migration-Move-migrate_use_xbzrle-to-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_use_block-to-options.c.patch [bz#2057267] -- kvm-migration-Move-migrate_use_return-to-options.c.patch [bz#2057267] -- kvm-migration-Create-migrate_rdma_pin_all-function.patch [bz#2057267] -- kvm-migration-Move-migrate_caps_check-to-options.c.patch [bz#2057267] -- kvm-migration-Move-qmp_query_migrate_capabilities-to-opt.patch [bz#2057267] -- kvm-migration-Move-qmp_migrate_set_capabilities-to-optio.patch [bz#2057267] -- kvm-migration-Move-migrate_cap_set-to-options.c.patch [bz#2057267] -- kvm-migration-Move-parameters-functions-to-option.c.patch [bz#2057267] -- kvm-migration-Use-migrate_max_postcopy_bandwidth.patch [bz#2057267] -- kvm-migration-Move-migrate_use_block_incremental-to-opti.patch [bz#2057267] -- kvm-migration-Create-migrate_throttle_trigger_threshold.patch [bz#2057267] -- kvm-migration-Create-migrate_checkpoint_delay.patch [bz#2057267] -- kvm-migration-Create-migrate_max_cpu_throttle.patch [bz#2057267] -- kvm-migration-Move-migrate_announce_params-to-option.c.patch [bz#2057267] -- kvm-migration-Create-migrate_cpu_throttle_initial-to-opt.patch [bz#2057267] -- kvm-migration-Create-migrate_cpu_throttle_increment-func.patch [bz#2057267] -- kvm-migration-Create-migrate_cpu_throttle_tailslow-funct.patch [bz#2057267] -- kvm-migration-Move-migrate_postcopy-to-options.c.patch [bz#2057267] -- kvm-migration-Create-migrate_max_bandwidth-function.patch [bz#2057267] -- kvm-migration-Move-migrate_use_tls-to-options.c.patch [bz#2057267] -- kvm-migration-Move-qmp_migrate_set_parameters-to-options.patch [bz#2057267] -- kvm-migration-Allow-postcopy_ram_supported_by_host-to-re.patch [bz#2057267] -- kvm-block-bdrv-blk_co_unref-for-calls-in-coroutine-conte.patch [bz#2185688] -- kvm-block-Don-t-call-no_coroutine_fns-in-qmp_block_resiz.patch [bz#2185688] -- kvm-iotests-Use-alternative-CPU-type-that-is-not-depreca.patch [bz#2185688] -- kvm-iotests-Test-resizing-image-attached-to-an-iothread.patch [bz#2185688] -- kvm-Enable-Linux-io_uring.patch [bz#1947230] -- Resolves: bz#2058982 - (Qemu core dump if cut off nfs storage during migration) -- Resolves: bz#2057267 - (Migration with postcopy fail when vm set with shared memory) -- Resolves: bz#2185688 - ([qemu-kvm] no response with QMP command block_resize) -- Resolves: bz#1947230 - (Enable QEMU support for io_uring in RHEL9) - -* Mon May 15 2023 Miroslav Rezanina - 8.0.0-3 -- kvm-migration-Handle-block-device-inactivation-failures-.patch [bz#2058982] -- kvm-migration-Minor-control-flow-simplification.patch [bz#2058982] -- Resolves: bz#2058982 - (Qemu core dump if cut off nfs storage during migration) - -* Mon May 08 2023 Miroslav Rezanina - 8.0.0-2 -- kvm-acpi-pcihp-allow-repeating-hot-unplug-requests.patch [bz#2087047] -- kvm-hw-acpi-limit-warning-on-acpi-table-size-to-pc-machi.patch [bz#1934134] -- kvm-hw-acpi-Mark-acpi-blobs-as-resizable-on-RHEL-pc-mach.patch [bz#1934134] -- Resolves: bz#2087047 - (Disk detach is unsuccessful while the guest is still booting) -- Resolves: bz#1934134 - (ACPI table limits warning when booting guest with 512 VCPUs) - -* Thu Apr 20 2023 Miroslav Rezanina - 8.0.0-1 -- Rebase to QEMU 8.0.0 -- Resolves: bz#2180898 - (Rebase to QEMU 8.0.0 for RHEL 9.3.0) +* Mon Aug 07 2023 Miroslav Rezanina - 7.2.0-14.el9_2.4 +- kvm-aio-posix-fix-race-between-epoll-upgrade-and-aio_set.patch [bz#2211923] +- kvm-vhost-vdpa-do-not-cleanup-the-vdpa-vhost-net-structu.patch [bz#2227721] +- Resolves: bz#2211923 + ([qemu-kvm] rhel guest failed boot with multi disks on error Failed to start udev Wait for Complete Device Initialization [rhel-9.2.0.z]) +- Resolves: bz#2227721 + ([rhel9.2] hotplug/hotunplug mlx vdpa device to the occupied addr port, then qemu core dump occurs after shutdown guest [rhel-9.2.0.z]) + +* Tue Jul 11 2023 Miroslav Rezanina - 7.2.0-14.el9_2.3 +- kvm-kvm-reuse-per-vcpu-stats-fd-to-avoid-vcpu-interrupti.patch [bz#2221219] +- Resolves: bz#2221219 + (query-stats QMP command interrupts vcpus, the Max Latencies could be more than 100us (rhel 9.3.0 clone) [rhel-9.2.0.z]) + +* Mon Jun 19 2023 Miroslav Rezanina - 7.2.0-14.el9_2.2 +- kvm-vdpa-stop-all-svq-on-device-deletion.patch [bz#2213864] +- Resolves: bz#2213864 + ([mlx vhost_vdpa][rhel 9.2]qemu core dump when hot unplug then hotplug a vdpa interface with multi-queue setting [rhel-9.2.0.z]) + +* Thu May 25 2023 Miroslav Rezanina - 7.2.0-14.el9_2.1 +- kvm-acpi-pcihp-allow-repeating-hot-unplug-requests.patch [bz#2203745] +- Resolves: bz#2203745 + (Disk detach is unsuccessful while the guest is still booting [rhel-9.2.0.z]) * Mon Mar 20 2023 Miroslav Rezanina - 7.2.0-14 - Rebuild for 9.2 release @@ -2292,7 +2033,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ - Resolves: bz#2156876 ([virtual network][rhel7.9_guest] qemu-kvm: vhost vring error in virtqueue 1: Invalid argument (22)) -* Wed Mar 15 2023 MSVSphere Packaging Team - 7.2.0-12 +* Wed Mar 15 2023 MSVSphere Packaging Team - 7.0.0-13 - Rebuilt for MSVSphere 9.1. * Sun Mar 12 2023 Miroslav Rezanina - 7.2.0-12