On 01/15/2018, 01:35 PM, Greg Kroah-Hartman wrote: > 4.9-stable review patch. If anyone has any objections, please let me know. May I ask if somebody has started the 4.4 port yet? > ------------------ > > From: David Woodhouse <dwmw@xxxxxxxxxxxx> > > commit 76b043848fd22dbf7f8bf3a1452f8c70d557b860 upstream. > > Enable the use of -mindirect-branch=thunk-extern in newer GCC, and provide > the corresponding thunks. Provide assembler macros for invoking the thunks > in the same way that GCC does, from native and inline assembler. > > This adds X86_FEATURE_RETPOLINE and sets it by default on all CPUs. In > some circumstances, IBRS microcode features may be used instead, and the > retpoline can be disabled. > > On AMD CPUs if lfence is serialising, the retpoline can be dramatically > simplified to a simple "lfence; jmp *\reg". A future patch, after it has > been verified that lfence really is serialising in all circumstances, can > enable this by setting the X86_FEATURE_RETPOLINE_AMD feature bit in addition > to X86_FEATURE_RETPOLINE. > > Do not align the retpoline in the altinstr section, because there is no > guarantee that it stays aligned when it's copied over the oldinstr during > alternative patching. > > [ Andi Kleen: Rename the macros, add CONFIG_RETPOLINE option, export thunks] > [ tglx: Put actual function CALL/JMP in front of the macros, convert to > symbolic labels ] > [ dwmw2: Convert back to numeric labels, merge objtool fixes ] > > Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Acked-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> > Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: gnomes@xxxxxxxxxxxxxxxxxxx > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> > Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Cc: thomas.lendacky@xxxxxxx > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Cc: Jiri Kosina <jikos@xxxxxxxxxx> > Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> > Cc: Dave Hansen <dave.hansen@xxxxxxxxx> > Cc: Kees Cook <keescook@xxxxxxxxxx> > Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxxx> > Cc: Paul Turner <pjt@xxxxxxxxxx> > Link: https://lkml.kernel.org/r/1515707194-20531-4-git-send-email-dwmw@xxxxxxxxxxxx > Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> thanks, -- js suse labs