Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2023-07-09 20:40:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
 and      /work/SRC/openSUSE:Factory/.xen.new.23466 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xen"

Sun Jul  9 20:40:46 2023 rev:333 rq:1097441 version:4.17.1_06

Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes  2023-05-26 20:15:37.788318570 
+0200
+++ /work/SRC/openSUSE:Factory/.xen.new.23466/xen.changes       2023-07-09 
20:42:51.694040301 +0200
@@ -1,0 +2,9 @@
+Thu Jul  6 13:41:00 CET 2023 - jbeul...@suse.com
+
+- Upstream bug fixes (bsc#1027519)
+  645dec48-AMD-IOMMU-assert-boolean-enum.patch
+  646b782b-PCI-pci_get_pdev-respect-segment.patch
+  647dfb0e-x86-missing-unlock-in-microcode_update_helper.patch
+  648863fc-AMD-IOMMU-Invalidate-All-check.patch
+
+-------------------------------------------------------------------

New:
----
  645dec48-AMD-IOMMU-assert-boolean-enum.patch
  646b782b-PCI-pci_get_pdev-respect-segment.patch
  647dfb0e-x86-missing-unlock-in-microcode_update_helper.patch
  648863fc-AMD-IOMMU-Invalidate-All-check.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.1m0yOy/_old  2023-07-09 20:42:53.314050047 +0200
+++ /var/tmp/diff_new_pack.1m0yOy/_new  2023-07-09 20:42:53.318050071 +0200
@@ -119,7 +119,7 @@
 %endif
 Provides:       installhint(reboot-needed)
 
-Version:        4.17.1_04
+Version:        4.17.1_06
 Release:        0
 Summary:        Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
 License:        GPL-2.0-only
@@ -160,7 +160,11 @@
 Patch3:         643e387f-xen-update-CONFIG_DEBUG_INFO-help-text.patch
 Patch4:         6447a8fd-x86-EFI-permit-crash-dump-analysis.patch
 Patch5:         64525c61-tools-libs-guest-assist-gcc13s-realloc-analyzer.patch
-Patch6:         64639e84-amd-fix-legacy-setting-of-SSBD-on-AMD-Family-17h.patch
+Patch6:         645dec48-AMD-IOMMU-assert-boolean-enum.patch
+Patch7:         64639e84-amd-fix-legacy-setting-of-SSBD-on-AMD-Family-17h.patch
+Patch8:         646b782b-PCI-pci_get_pdev-respect-segment.patch
+Patch9:         647dfb0e-x86-missing-unlock-in-microcode_update_helper.patch
+Patch10:        648863fc-AMD-IOMMU-Invalidate-All-check.patch
 # EMBARGOED security fixes
 # libxc
 Patch301:       libxc-bitmap-long.patch

++++++ 645dec48-AMD-IOMMU-assert-boolean-enum.patch ++++++
# Commit 4c507d8a6b6e8be90881a335b0a66eb28e0f7737
# Date 2023-05-12 09:35:36 +0200
# Author Roger Pau Monné <roger....@citrix.com>
# Committer Jan Beulich <jbeul...@suse.com>
iommu/amd-vi: fix assert comparing boolean to enum

Or else when iommu_intremap is set to iommu_intremap_full the assert
triggers.

Fixes: 1ba66a870eba ('AMD/IOMMU: without XT, x2APIC needs to be forced into 
physical mode')
Signed-off-by: Roger Pau Monné <roger....@citrix.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -240,7 +240,7 @@ static int __must_check amd_iommu_setup_
          */
         if ( dte->it_root )
             ASSERT(dte->int_ctl == IOMMU_DEV_TABLE_INT_CONTROL_TRANSLATED);
-        ASSERT(dte->iv == iommu_intremap);
+        ASSERT(dte->iv == !!iommu_intremap);
         ASSERT(dte->ex == ivrs_dev->dte_allow_exclusion);
         ASSERT(dte->sys_mgt == MASK_EXTR(ivrs_dev->device_flags,
                                          ACPI_IVHD_SYSTEM_MGMT));

++++++ 646b782b-PCI-pci_get_pdev-respect-segment.patch ++++++
# Commit c7908869ac26961a3919491705e521179ad3fc0e
# Date 2023-05-22 16:11:55 +0200
# Author Roger Pau Monné <roger....@citrix.com>
# Committer Jan Beulich <jbeul...@suse.com>
pci: fix pci_get_pdev() to always account for the segment

When a domain parameter is provided to pci_get_pdev() the search
function would match against the bdf, without taking the segment into
account.

Fix this and also account for the passed segment.

Fixes: 8cf6e0738906 ('PCI: simplify (and thus correct) 
pci_get_pdev{,_by_domain}()')
Signed-off-by: Roger Pau Monné <roger....@citrix.com>
Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -552,7 +552,7 @@ struct pci_dev *pci_get_pdev(const struc
     }
     else
         list_for_each_entry ( pdev, &d->pdev_list, domain_list )
-            if ( pdev->sbdf.bdf == sbdf.bdf )
+            if ( pdev->sbdf.sbdf == sbdf.sbdf )
                 return pdev;
 
     return NULL;

++++++ 647dfb0e-x86-missing-unlock-in-microcode_update_helper.patch ++++++
# Commit b35b22acb887f682efe8385b3df165220bc84c86
# Date 2023-06-05 16:11:10 +0100
# Author Alejandro Vallejo <alejandro.vall...@cloud.com>
# Committer Andrew Cooper <andrew.coop...@citrix.com>
x86/microcode: Add missing unlock in microcode_update_helper()

microcode_update_helper() may return early while holding
cpu_add_remove_lock, hence preventing any writers from taking it again.

Leave through the `put` label instead so it's properly released.

Fixes: 5ed12565aa32 ("microcode: rendezvous CPUs in NMI handler and load ucode")
Signed-off-by: Alejandro Vallejo <alejandro.vall...@cloud.com>
Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>

--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -596,7 +596,8 @@ static long cf_check microcode_update_he
         printk(XENLOG_WARNING
                "CPU%u is expected to lead ucode loading (but got CPU%u)\n",
                nmi_cpu, cpumask_first(&cpu_online_map));
-        return -EPERM;
+        ret = -EPERM;
+        goto put;
     }
 
     patch = parse_blob(buffer->buffer, buffer->len);

++++++ 648863fc-AMD-IOMMU-Invalidate-All-check.patch ++++++
# Commit 5ecbb779748a56495f2c892f0610d57dd623c7cd
# Date 2023-06-13 14:41:32 +0200
# Author Roger Pau Monné <roger....@citrix.com>
# Committer Jan Beulich <jbeul...@suse.com>
iommu/amd-vi: fix checking for Invalidate All support in amd_iommu_resume()

The iommu local variable does not point to to a valid amd_iommu element
after the call to for_each_amd_iommu().  Instead check whether any IOMMU
on the system doesn't support Invalidate All in order to perform the
per-domain and per-device flushes.

Fixes: 9c46139de889 ('amd iommu: Support INVALIDATE_IOMMU_ALL command.')
Signed-off-by: Roger Pau Monné <roger....@citrix.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1578,6 +1578,7 @@ void cf_check amd_iommu_crash_shutdown(v
 void cf_check amd_iommu_resume(void)
 {
     struct amd_iommu *iommu;
+    bool invalidate_all = true;
 
     for_each_amd_iommu ( iommu )
     {
@@ -1587,10 +1588,12 @@ void cf_check amd_iommu_resume(void)
         */
         disable_iommu(iommu);
         enable_iommu(iommu);
+        if ( !iommu->features.flds.ia_sup )
+            invalidate_all = false;
     }
 
     /* flush all cache entries after iommu re-enabled */
-    if ( !iommu->features.flds.ia_sup )
+    if ( !invalidate_all )
     {
         invalidate_all_devices();
         invalidate_all_domain_pages();

Reply via email to