diff options
author | Brian Gerst <brgerst@gmail.com> | 2019-12-19 06:58:12 -0500 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-01-08 19:40:51 +0100 |
commit | 2b10906f2d25515bba58070b8183babc89063597 (patch) | |
tree | 9b6a4c28c47d3bbd438f0264a2ccb693471ee652 /arch/x86/kernel/process_64.c | |
parent | f444a5ff95dce07cf4353cbb85fc3e785019d430 (diff) | |
download | linux-stable-2b10906f2d25515bba58070b8183babc89063597.tar.gz linux-stable-2b10906f2d25515bba58070b8183babc89063597.tar.bz2 linux-stable-2b10906f2d25515bba58070b8183babc89063597.zip |
x86: Remove force_iret()
force_iret() was originally intended to prevent the return to user mode with
the SYSRET or SYSEXIT instructions, in cases where the register state could
have been changed to be incompatible with those instructions. The entry code
has been significantly reworked since then, and register state is validated
before SYSRET or SYSEXIT are used. force_iret() no longer serves its original
purpose and can be eliminated.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Link: https://lkml.kernel.org/r/20191219115812.102620-1-brgerst@gmail.com
Diffstat (limited to 'arch/x86/kernel/process_64.c')
-rw-r--r-- | arch/x86/kernel/process_64.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 506d66830d4d..ffd497804dbc 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -394,7 +394,6 @@ start_thread_common(struct pt_regs *regs, unsigned long new_ip, regs->cs = _cs; regs->ss = _ss; regs->flags = X86_EFLAGS_IF; - force_iret(); } void |