| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- From fe5fdc3484283039f5f7477874eeef1a26f2b6be Mon Sep 17 00:00:00 2001
- From: David Woodhouse <[email protected]>
- Date: Thu, 4 Jan 2018 14:37:05 +0000
- Subject: [PATCH 239/242] x86/alternatives: Add missing '\n' at end of
- ALTERNATIVE inline asm
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- commit b9e705ef7cfaf22db0daab91ad3cd33b0fa32eb9 upstream.
- Where an ALTERNATIVE is used in the middle of an inline asm block, this
- would otherwise lead to the following instruction being appended directly
- to the trailing ".popsection", and a failed compile.
- Fixes: 9cebed423c84 ("x86, alternative: Use .pushsection/.popsection")
- Signed-off-by: David Woodhouse <[email protected]>
- Signed-off-by: Thomas Gleixner <[email protected]>
- Cc: [email protected]
- Cc: Rik van Riel <[email protected]>
- Cc: [email protected]
- Cc: Tim Chen <[email protected]>
- Cc: Peter Zijlstra <[email protected]>
- Cc: Paul Turner <[email protected]>
- Cc: Jiri Kosina <[email protected]>
- Cc: Andy Lutomirski <[email protected]>
- Cc: Dave Hansen <[email protected]>
- Cc: Kees Cook <[email protected]>
- Cc: Linus Torvalds <[email protected]>
- Cc: Greg Kroah-Hartman <[email protected]>
- Link: https://lkml.kernel.org/r/[email protected]
- Signed-off-by: Greg Kroah-Hartman <[email protected]>
- Signed-off-by: Fabian Grünbichler <[email protected]>
- ---
- arch/x86/include/asm/alternative.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
- diff --git a/arch/x86/include/asm/alternative.h b/arch/x86/include/asm/alternative.h
- index d4aea31eec03..deca9b9c7923 100644
- --- a/arch/x86/include/asm/alternative.h
- +++ b/arch/x86/include/asm/alternative.h
- @@ -139,7 +139,7 @@ static inline int alternatives_text_reserved(void *start, void *end)
- ".popsection\n" \
- ".pushsection .altinstr_replacement, \"ax\"\n" \
- ALTINSTR_REPLACEMENT(newinstr, feature, 1) \
- - ".popsection"
- + ".popsection\n"
-
- #define ALTERNATIVE_2(oldinstr, newinstr1, feature1, newinstr2, feature2)\
- OLDINSTR_2(oldinstr, 1, 2) \
- @@ -150,7 +150,7 @@ static inline int alternatives_text_reserved(void *start, void *end)
- ".pushsection .altinstr_replacement, \"ax\"\n" \
- ALTINSTR_REPLACEMENT(newinstr1, feature1, 1) \
- ALTINSTR_REPLACEMENT(newinstr2, feature2, 2) \
- - ".popsection"
- + ".popsection\n"
-
- /*
- * Alternative instructions for different CPU types or capabilities.
- --
- 2.14.2
|