x86/entry: Cleanup idtentry_entry/exit_user

Cleanup the temporary defines and use irqentry_ instead of idtentry_.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20200722220520.602603691@linutronix.de
This commit is contained in:
Thomas Gleixner 2020-07-23 00:00:06 +02:00
parent 167fd210ec
commit 517e499227
3 changed files with 11 additions and 15 deletions

View file

@ -11,10 +11,6 @@
#include <asm/irq_stack.h>
/* Temporary define */
#define idtentry_enter_user irqentry_enter_from_user_mode
#define idtentry_exit_user irqentry_exit_to_user_mode
typedef struct idtentry_state {
bool exit_rcu;
} idtentry_state_t;

View file

@ -1927,11 +1927,11 @@ static __always_inline void exc_machine_check_kernel(struct pt_regs *regs)
static __always_inline void exc_machine_check_user(struct pt_regs *regs)
{
idtentry_enter_user(regs);
irqentry_enter_from_user_mode(regs);
instrumentation_begin();
machine_check_vector(regs);
instrumentation_end();
idtentry_exit_user(regs);
irqentry_exit_to_user_mode(regs);
}
#ifdef CONFIG_X86_64

View file

@ -638,18 +638,18 @@ DEFINE_IDTENTRY_RAW(exc_int3)
return;
/*
* idtentry_enter_user() uses static_branch_{,un}likely() and therefore
* can trigger INT3, hence poke_int3_handler() must be done
* before. If the entry came from kernel mode, then use nmi_enter()
* because the INT3 could have been hit in any context including
* NMI.
* irqentry_enter_from_user_mode() uses static_branch_{,un}likely()
* and therefore can trigger INT3, hence poke_int3_handler() must
* be done before. If the entry came from kernel mode, then use
* nmi_enter() because the INT3 could have been hit in any context
* including NMI.
*/
if (user_mode(regs)) {
idtentry_enter_user(regs);
irqentry_enter_from_user_mode(regs);
instrumentation_begin();
do_int3_user(regs);
instrumentation_end();
idtentry_exit_user(regs);
irqentry_exit_to_user_mode(regs);
} else {
nmi_enter();
instrumentation_begin();
@ -901,12 +901,12 @@ static __always_inline void exc_debug_user(struct pt_regs *regs,
*/
WARN_ON_ONCE(!user_mode(regs));
idtentry_enter_user(regs);
irqentry_enter_from_user_mode(regs);
instrumentation_begin();
handle_debug(regs, dr6, true);
instrumentation_end();
idtentry_exit_user(regs);
irqentry_exit_to_user_mode(regs);
}
#ifdef CONFIG_X86_64