Skip to content

Commit

Permalink
x86/entry: Cleanup idtentry_entry/exit_user
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Thomas Gleixner committed Jul 24, 2020
1 parent 167fd21 commit 517e499
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 15 deletions.
4 changes: 0 additions & 4 deletions arch/x86/include/asm/idtentry.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions arch/x86/kernel/cpu/mce/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
18 changes: 9 additions & 9 deletions arch/x86/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 517e499

Please sign in to comment.