diff options
Diffstat (limited to 'arch/x86/kernel/traps.c')
-rw-r--r-- | arch/x86/kernel/traps.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 86a82eafb96f..45e8d9891fa3 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -112,7 +112,7 @@ static inline void preempt_conditional_cli(struct pt_regs *regs) void ist_enter(struct pt_regs *regs) { if (user_mode(regs)) { - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); } else { /* * We might have interrupted pretty much anything. In @@ -282,7 +282,7 @@ static void do_error_trap(struct pt_regs *regs, long error_code, char *str, { siginfo_t info; - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) != NOTIFY_STOP) { @@ -364,7 +364,7 @@ dotraplinkage void do_bounds(struct pt_regs *regs, long error_code) const struct bndcsr *bndcsr; siginfo_t *info; - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); if (notify_die(DIE_TRAP, "bounds", regs, error_code, X86_TRAP_BR, SIGSEGV) == NOTIFY_STOP) return; @@ -442,7 +442,7 @@ do_general_protection(struct pt_regs *regs, long error_code) { struct task_struct *tsk; - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); conditional_sti(regs); if (v8086_mode(regs)) { @@ -496,7 +496,7 @@ dotraplinkage void notrace do_int3(struct pt_regs *regs, long error_code) return; ist_enter(regs); - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); #ifdef CONFIG_KGDB_LOW_LEVEL_TRAP if (kgdb_ll_trap(DIE_INT3, "int3", regs, error_code, X86_TRAP_BP, SIGTRAP) == NOTIFY_STOP) @@ -729,14 +729,14 @@ static void math_error(struct pt_regs *regs, int error_code, int trapnr) dotraplinkage void do_coprocessor_error(struct pt_regs *regs, long error_code) { - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); math_error(regs, error_code, X86_TRAP_MF); } dotraplinkage void do_simd_coprocessor_error(struct pt_regs *regs, long error_code) { - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); math_error(regs, error_code, X86_TRAP_XF); } @@ -749,7 +749,7 @@ do_spurious_interrupt_bug(struct pt_regs *regs, long error_code) dotraplinkage void do_device_not_available(struct pt_regs *regs, long error_code) { - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); BUG_ON(use_eager_fpu()); #ifdef CONFIG_MATH_EMULATION @@ -775,7 +775,7 @@ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code) { siginfo_t info; - CT_WARN_ON(ct_state() != CONTEXT_KERNEL); + rcu_lockdep_assert(rcu_is_watching(), "entry code didn't wake RCU"); local_irq_enable(); info.si_signo = SIGILL; |