Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 851a4cd7 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Revert "x86/alternatives: Macrofy lock prefixes to work around GCC inlining bugs"



This reverts commit 77f48ec2.

See this commit for details about the revert:

  e769742d ("Revert "x86/jump-labels: Macrofy inline assembly code to work around GCC inlining bugs"")

Reported-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: default avatarBorislav Petkov <bp@alien8.de>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Juergen Gross <jgross@suse.com>
Cc: Richard Biener <rguenther@suse.de>
Cc: Kees Cook <keescook@chromium.org>
Cc: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Nadav Amit <namit@vmware.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent ffb61c63
Loading
Loading
Loading
Loading
+6 −14
Original line number Diff line number Diff line
@@ -7,23 +7,15 @@
#include <asm/asm.h>

#ifdef CONFIG_SMP
.macro LOCK_PREFIX_HERE
	.macro LOCK_PREFIX
672:	lock
	.pushsection .smp_locks,"a"
	.balign 4
	.long 671f - .		# offset
	.long 672b - .
	.popsection
671:
.endm

.macro LOCK_PREFIX insn:vararg
	LOCK_PREFIX_HERE
	lock \insn
	.endm
#else
.macro LOCK_PREFIX_HERE
.endm

.macro LOCK_PREFIX insn:vararg
	.macro LOCK_PREFIX
	.endm
#endif

+9 −2
Original line number Diff line number Diff line
@@ -31,8 +31,15 @@
 */

#ifdef CONFIG_SMP
#define LOCK_PREFIX_HERE "LOCK_PREFIX_HERE\n\t"
#define LOCK_PREFIX "LOCK_PREFIX "
#define LOCK_PREFIX_HERE \
		".pushsection .smp_locks,\"a\"\n"	\
		".balign 4\n"				\
		".long 671f - .\n" /* offset */		\
		".popsection\n"				\
		"671:"

#define LOCK_PREFIX LOCK_PREFIX_HERE "\n\tlock; "

#else /* ! CONFIG_SMP */
#define LOCK_PREFIX_HERE ""
#define LOCK_PREFIX ""
+0 −1
Original line number Diff line number Diff line
@@ -8,4 +8,3 @@

#include <linux/compiler.h>
#include <asm/refcount.h>
#include <asm/alternative-asm.h>