On 05/24, Andy Lutomirski wrote: > > void ist_enter(struct pt_regs *regs) > { > if (user_mode(regs)) { > @@ -109,13 +115,7 @@ void ist_enter(struct pt_regs *regs) > rcu_nmi_enter(); > } > > - /* > - * We are atomic because we're on the IST stack; or we're on > - * x86_32, in which case we still shouldn't schedule; or we're > - * on x86_64 and entered from user mode, in which case we're > - * still atomic unless ist_begin_non_atomic is called. > - */ > - preempt_count_add(HARDIRQ_OFFSET); > + preempt_disable(); off-topic question, perhaps it makes sense to remove another preempt_disable/preempt_enable_no_resched in do_int3() and do_debug() ? They were added by d99e1bd175f4291ddb6e62b22bb5bdbe3976389a ("x86/entry/traps: Refactor preemption and interrupt flag handling") and afaics for no reason. Oleg. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html