projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
03f4424
)
x86/mm/pti: Force entry through trampoline when PTI active
author
Thomas Gleixner
<
[email protected]
>
Mon, 4 Dec 2017 14:07:43 +0000
(15:07 +0100)
committer
Ingo Molnar
<
[email protected]
>
Sat, 23 Dec 2017 20:13:00 +0000
(21:13 +0100)
Force the entry through the trampoline only when PTI is active. Otherwise
go through the normal entry code.
Signed-off-by: Thomas Gleixner <
[email protected]
>
Reviewed-by: Borislav Petkov <
[email protected]
>
Cc: Andy Lutomirski <
[email protected]
>
Cc: Boris Ostrovsky <
[email protected]
>
Cc: Borislav Petkov <
[email protected]
>
Cc: Brian Gerst <
[email protected]
>
Cc: Dave Hansen <
[email protected]
>
Cc: David Laight <
[email protected]
>
Cc: Denys Vlasenko <
[email protected]
>
Cc: Eduardo Valentin <
[email protected]
>
Cc: Greg KH <
[email protected]
>
Cc: H. Peter Anvin <
[email protected]
>
Cc: Josh Poimboeuf <
[email protected]
>
Cc: Juergen Gross <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Will Deacon <
[email protected]
>
Cc:
[email protected]
Cc:
[email protected]
Cc:
[email protected]
Cc:
[email protected]
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/kernel/cpu/common.c
patch
|
blob
|
history
diff --git
a/arch/x86/kernel/cpu/common.c
b/arch/x86/kernel/cpu/common.c
index a9210f9b7cf842c46f976ff72bfefab16b5e5171..f2a94dfb434e9a7c61d6eacc28dd0129f6e844e1 100644
(file)
--- a/
arch/x86/kernel/cpu/common.c
+++ b/
arch/x86/kernel/cpu/common.c
@@
-1339,7
+1339,10
@@
void syscall_init(void)
(entry_SYSCALL_64_trampoline - _entry_trampoline);
wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS);
- wrmsrl(MSR_LSTAR, SYSCALL64_entry_trampoline);
+ if (static_cpu_has(X86_FEATURE_PTI))
+ wrmsrl(MSR_LSTAR, SYSCALL64_entry_trampoline);
+ else
+ wrmsrl(MSR_LSTAR, (unsigned long)entry_SYSCALL_64);
#ifdef CONFIG_IA32_EMULATION
wrmsrl(MSR_CSTAR, (unsigned long)entry_SYSCALL_compat);