From: Greg Kroah-Hartman Date: Sun, 15 Jan 2023 14:17:50 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.14.303~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be4e9497c5890cf8b04ef26569443e1dd63ae446;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch --- diff --git a/queue-4.19/series b/queue-4.19/series index 252378ac5ea..012ff380bd1 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -500,3 +500,4 @@ ext4-add-new-pending-reservation-mechanism.patch ext4-fix-reserved-cluster-accounting-at-delayed-writ.patch ext4-fix-delayed-allocation-bug-in-ext4_clu_mapped-f.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.19/x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch b/queue-4.19/x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch new file mode 100644 index 00000000000..8a2d08fe265 --- /dev/null +++ b/queue-4.19/x86-boot-avoid-using-intel-mnemonics-in-at-t-syntax-asm.patch @@ -0,0 +1,70 @@ +From 7c6dd961d0c8e7e8f9fdc65071fb09ece702e18d Mon Sep 17 00:00:00 2001 +From: Peter Zijlstra +Date: Tue, 10 Jan 2023 12:15:40 +0100 +Subject: x86/boot: Avoid using Intel mnemonics in AT&T syntax asm + +From: Peter Zijlstra + +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) +Signed-off-by: Ingo Molnar +Acked-by: Borislav Petkov (AMD) +Link: https://lore.kernel.org/r/Y71I3Ex2pvIxMpsP@hirez.programming.kicks-ass.net +Signed-off-by: Greg Kroah-Hartman +--- + 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 */