]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.6-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Dec 2024 14:48:49 +0000 (15:48 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Dec 2024 14:48:49 +0000 (15:48 +0100)
added patches:
revert-x86-pvh-call-c-code-via-the-kernel-virtual-mapping.patch
revert-x86-pvh-set-phys_base-when-calling-xen_prepare_pvh.patch
series

queue-6.6/revert-x86-pvh-call-c-code-via-the-kernel-virtual-mapping.patch [new file with mode: 0644]
queue-6.6/revert-x86-pvh-set-phys_base-when-calling-xen_prepare_pvh.patch [new file with mode: 0644]
queue-6.6/series [new file with mode: 0644]

diff --git a/queue-6.6/revert-x86-pvh-call-c-code-via-the-kernel-virtual-mapping.patch b/queue-6.6/revert-x86-pvh-call-c-code-via-the-kernel-virtual-mapping.patch
new file mode 100644 (file)
index 0000000..cd73256
--- /dev/null
@@ -0,0 +1,41 @@
+From 9c92eb5d53e72899b47c154090ccbad0b5184578 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Wed, 11 Dec 2024 15:22:28 +0100
+Subject: Revert "x86/pvh: Call C code via the kernel virtual mapping"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit 83d123e27623713dd69eed2569eacf5f1b3c9033 which is
+commit e8fbc0d9cab6c1ee6403f42c0991b0c1d5dbc092 upstream.
+
+It causes boot failures of domU guests, and should be reverted.
+
+Cc: Jason Andryuk <jason.andryuk@amd.com>
+Cc: Ard Biesheuvel <ardb@kernel.org>
+Cc: Juergen Gross <jgross@suse.com>
+Cc: Sasha Levin <sashal@kernel.org>
+Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
+Link: https://lore.kernel.org/r/Z1l6XbHP6BTTZSwr@mail-itl
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/platform/pvh/head.S |    9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+--- a/arch/x86/platform/pvh/head.S
++++ b/arch/x86/platform/pvh/head.S
+@@ -107,14 +107,7 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
+       movq %rbp, %rbx
+       subq $_pa(pvh_start_xen), %rbx
+       movq %rbx, phys_base(%rip)
+-
+-      /* Call xen_prepare_pvh() via the kernel virtual mapping */
+-      leaq xen_prepare_pvh(%rip), %rax
+-      subq phys_base(%rip), %rax
+-      addq $__START_KERNEL_map, %rax
+-      ANNOTATE_RETPOLINE_SAFE
+-      call *%rax
+-
++      call xen_prepare_pvh
+       /*
+        * Clear phys_base.  __startup_64 will *add* to its value,
+        * so reset to 0.
diff --git a/queue-6.6/revert-x86-pvh-set-phys_base-when-calling-xen_prepare_pvh.patch b/queue-6.6/revert-x86-pvh-set-phys_base-when-calling-xen_prepare_pvh.patch
new file mode 100644 (file)
index 0000000..be00d8f
--- /dev/null
@@ -0,0 +1,46 @@
+From 76e2ef634bfd538be923af2bbc51eb89626a3ad5 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Wed, 11 Dec 2024 15:24:38 +0100
+Subject: Revert "x86/pvh: Set phys_base when calling xen_prepare_pvh()"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit f662b4a69e1d6c15db3354de6fc9f923417a5a10 which is
+commit b464b461d27d564125db760938643374864c1b1f upstream.
+
+It causes boot failures of domU guests, and should be reverted.
+
+Cc: Jason Andryuk <jason.andryuk@amd.com>
+Cc: Juergen Gross <jgross@suse.com>
+Cc: Sasha Levin <sashal@kernel.org>
+Cc: Ard Biesheuvel <ardb@kernel.org>
+Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
+Link: https://lore.kernel.org/r/Z1l6XbHP6BTTZSwr@mail-itl
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/platform/pvh/head.S |   13 -------------
+ 1 file changed, 13 deletions(-)
+
+--- a/arch/x86/platform/pvh/head.S
++++ b/arch/x86/platform/pvh/head.S
+@@ -100,20 +100,7 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
+       xor %edx, %edx
+       wrmsr
+-      /*
+-       * Calculate load offset and store in phys_base.  __pa() needs
+-       * phys_base set to calculate the hypercall page in xen_pvh_init().
+-       */
+-      movq %rbp, %rbx
+-      subq $_pa(pvh_start_xen), %rbx
+-      movq %rbx, phys_base(%rip)
+       call xen_prepare_pvh
+-      /*
+-       * Clear phys_base.  __startup_64 will *add* to its value,
+-       * so reset to 0.
+-       */
+-      xor  %rbx, %rbx
+-      movq %rbx, phys_base(%rip)
+       /* startup_64 expects boot_params in %rsi. */
+       mov $_pa(pvh_bootparams), %rsi
diff --git a/queue-6.6/series b/queue-6.6/series
new file mode 100644 (file)
index 0000000..8697f39
--- /dev/null
@@ -0,0 +1,2 @@
+revert-x86-pvh-call-c-code-via-the-kernel-virtual-mapping.patch
+revert-x86-pvh-set-phys_base-when-calling-xen_prepare_pvh.patch