]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 15 Jan 2023 14:17:41 +0000 (15:17 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 15 Jan 2023 14:17:41 +0000 (15:17 +0100)
added patches:
x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch

queue-4.14/series
queue-4.14/x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch [new file with mode: 0644]

index 88785cd89c0a5ee5d005bf4f1732949bfe828860..a99e51f956b7bf4b2f7c34e7de06e9aead9e48c6 100644 (file)
@@ -330,3 +330,4 @@ alsa-pcm-move-rwsem-lock-inside-snd_ctl_elem_read-to-prevent-uaf.patch
 platform-x86-sony-laptop-don-t-turn-off-0x153-keyboard-backlight-during-probe.patch
 ipv6-raw-deduct-extension-header-length-in-rawv6_push_pending_frames.patch
 netfilter-ipset-fix-overflow-before-widen-in-the-bitmap_ip_create-function.patch
+x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch
diff --git a/queue-4.14/x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch b/queue-4.14/x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch
new file mode 100644 (file)
index 0000000..8a2d08f
--- /dev/null
@@ -0,0 +1,70 @@
+From 7c6dd961d0c8e7e8f9fdc65071fb09ece702e18d Mon Sep 17 00:00:00 2001
+From: Peter Zijlstra <peterz@infradead.org>
+Date: Tue, 10 Jan 2023 12:15:40 +0100
+Subject: x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
+
+From: Peter Zijlstra <peterz@infradead.org>
+
+commit 7c6dd961d0c8e7e8f9fdc65071fb09ece702e18d upstream.
+
+With 'GNU assembler (GNU Binutils for Debian) 2.39.90.20221231' the
+build now reports:
+
+  arch/x86/realmode/rm/../../boot/bioscall.S: Assembler messages:
+  arch/x86/realmode/rm/../../boot/bioscall.S:35: Warning: found `movsd'; assuming `movsl' was meant
+  arch/x86/realmode/rm/../../boot/bioscall.S:70: Warning: found `movsd'; assuming `movsl' was meant
+
+  arch/x86/boot/bioscall.S: Assembler messages:
+  arch/x86/boot/bioscall.S:35: Warning: found `movsd'; assuming `movsl' was meant
+  arch/x86/boot/bioscall.S:70: Warning: found `movsd'; assuming `movsl' was meant
+
+Which is due to:
+
+  PR gas/29525
+
+  Note that with the dropped CMPSD and MOVSD Intel Syntax string insn
+  templates taking operands, mixed IsString/non-IsString template groups
+  (with memory operands) cannot occur anymore. With that
+  maybe_adjust_templates() becomes unnecessary (and is hence being
+  removed).
+
+More details: https://sourceware.org/bugzilla/show_bug.cgi?id=29525
+
+Borislav Petkov further explains:
+
+  " the particular problem here is is that the 'd' suffix is
+    "conflicting" in the sense that you can have SSE mnemonics like movsD %xmm...
+    and the same thing also for string ops (which is the case here) so apparently
+    the agreement in binutils land is to use the always accepted suffixes 'l' or 'q'
+    and phase out 'd' slowly... "
+
+Fixes: 7a734e7dd93b ("x86, setup: "glove box" BIOS calls -- infrastructure")
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
+Link: https://lore.kernel.org/r/Y71I3Ex2pvIxMpsP@hirez.programming.kicks-ass.net
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/boot/bioscall.S |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/boot/bioscall.S
++++ b/arch/x86/boot/bioscall.S
+@@ -35,7 +35,7 @@ intcall:
+       movw    %dx, %si
+       movw    %sp, %di
+       movw    $11, %cx
+-      rep; movsd
++      rep; movsl
+       /* Pop full state from the stack */
+       popal
+@@ -70,7 +70,7 @@ intcall:
+       jz      4f
+       movw    %sp, %si
+       movw    $11, %cx
+-      rep; movsd
++      rep; movsl
+ 4:    addw    $44, %sp
+       /* Restore state and return */