Revert "x86/speculation: Change FILL_RETURN_BUFFER to work with objtool"
authorBen Hutchings <ben@decadent.org.uk>
Mon, 5 Dec 2022 22:10:41 +0000 (23:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Dec 2022 10:16:34 +0000 (11:16 +0100)
This reverts commit c95afe5bcad40e1f0292bfc0a625c4aa080cc971, which
was commit 089dd8e53126ebaf506e2dc0bf89d652c36bfc12 upstream.

The necessary changes to objtool have not been backported to 4.14.
Backporting this commit alone only added build warnings.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/nospec-branch.h

index d23b92c0ddeab59ae2c1c7e0b4860d9fae4f4b66..0b65fea3c0e226cc425016451d7578ebf0f7a146 100644 (file)
@@ -4,13 +4,11 @@
 #define _ASM_X86_NOSPEC_BRANCH_H_
 
 #include <linux/static_key.h>
-#include <linux/frame.h>
 
 #include <asm/alternative.h>
 #include <asm/alternative-asm.h>
 #include <asm/cpufeatures.h>
 #include <asm/msr-index.h>
-#include <asm/unwind_hints.h>
 #include <asm/percpu.h>
 
 /*
@@ -54,9 +52,9 @@
        lfence;                                 \
        jmp     775b;                           \
 774:                                           \
-       add     $(BITS_PER_LONG/8) * 2, sp;     \
        dec     reg;                            \
        jnz     771b;                           \
+       add     $(BITS_PER_LONG/8) * nr, sp;    \
        /* barrier for jnz misprediction */     \
        lfence;
 #else
   * monstrosity above, manually.
   */
 .macro FILL_RETURN_BUFFER reg:req nr:req ftr:req
-       ALTERNATIVE "jmp .Lskip_rsb_\@", "", \ftr
-       __FILL_RETURN_BUFFER(\reg,\nr,%_ASM_SP)
+       ANNOTATE_NOSPEC_ALTERNATIVE
+       ALTERNATIVE "jmp .Lskip_rsb_\@",                                \
+               __stringify(__FILL_RETURN_BUFFER(\reg,\nr,%_ASM_SP))    \
+               \ftr
 .Lskip_rsb_\@:
 .endm