mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
x86/fred: Let ret_from_fork_asm() jmp to asm_fred_exit_user when FRED is enabled
Let ret_from_fork_asm() jmp to asm_fred_exit_user when FRED is enabled, otherwise the existing IDT code is chosen. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com> Signed-off-by: Xin Li <xin3.li@intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Tested-by: Shan Kang <shan.kang@intel.com> Link: https://lore.kernel.org/r/20231205105030.8698-29-xin3.li@intel.com
This commit is contained in:
parent
8f4a29b0e8
commit
51ef2a4da7
|
|
@ -247,7 +247,13 @@ SYM_CODE_START(ret_from_fork_asm)
|
|||
* and unwind should work normally.
|
||||
*/
|
||||
UNWIND_HINT_REGS
|
||||
|
||||
#ifdef CONFIG_X86_FRED
|
||||
ALTERNATIVE "jmp swapgs_restore_regs_and_return_to_usermode", \
|
||||
"jmp asm_fred_exit_user", X86_FEATURE_FRED
|
||||
#else
|
||||
jmp swapgs_restore_regs_and_return_to_usermode
|
||||
#endif
|
||||
SYM_CODE_END(ret_from_fork_asm)
|
||||
.popsection
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
SYM_CODE_START_NOALIGN(asm_fred_entrypoint_user)
|
||||
FRED_ENTER
|
||||
call fred_entry_from_user
|
||||
SYM_INNER_LABEL(asm_fred_exit_user, SYM_L_GLOBAL)
|
||||
FRED_EXIT
|
||||
ERETU
|
||||
SYM_CODE_END(asm_fred_entrypoint_user)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user