From: Andy Lutomirski luto@kernel.org
mainline inclusion from mainline-v5.3 commit dffb3f9db6b593f3ed6ab4c8d8f10e0aa6aa7a88 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I5Q0UG?from=project-issue CVE: NA
---------------------------
It's only used if !CONFIG_IA32_EMULATION, so disable it in normal configs. This will save a few bytes of text and reduce confusion.
Signed-off-by: Andy Lutomirski luto@kernel.org Signed-off-by: Thomas Gleixner tglx@linutronix.de Cc: "BaeChang Seok" chang.seok.bae@intel.com Cc: Borislav Petkov bp@alien8.de Cc: Peter Zijlstra peterz@infradead.org Cc: "Bae, Chang Seok" chang.seok.bae@intel.com Link: https://lkml.kernel.org/r/0f7dafa72fe7194689de5ee8cfe5d83509fabcf5.156203542...
Signed-off-by: tangbin tangbin@cmss.chinamobile.com --- arch/x86/entry/entry_64.S | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 323b395c9cd8..574edc97d5d9 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -1732,11 +1732,17 @@ nmi_restore: iretq END(nmi)
+#ifndef CONFIG_IA32_EMULATION +/* + * This handles SYSCALL from 32-bit code. There is no way to program + * MSRs to fully disable 32-bit SYSCALL. + */ ENTRY(ignore_sysret) UNWIND_HINT_EMPTY mov $-ENOSYS, %eax sysret END(ignore_sysret) +#endif
ENTRY(rewind_stack_do_exit) UNWIND_HINT_FUNC