diff --git a/Kernel/Arch/x86/common/Processor.cpp b/Kernel/Arch/x86/common/Processor.cpp index 57dcc13bdf..46902160f3 100644 --- a/Kernel/Arch/x86/common/Processor.cpp +++ b/Kernel/Arch/x86/common/Processor.cpp @@ -990,7 +990,7 @@ void Processor::exit_trap(TrapFrame& trap) void Processor::check_invoke_scheduler() { - InterruptDisabler disabler; + VERIFY_INTERRUPTS_DISABLED(); VERIFY(!m_in_irq); VERIFY(!m_in_critical); VERIFY(&Processor::current() == this); @@ -1667,6 +1667,7 @@ u64 Processor::time_spent_idle() const void Processor::leave_critical() { + InterruptDisabler disabler; current().do_leave_critical(); } @@ -1688,6 +1689,7 @@ void Processor::do_leave_critical() u32 Processor::clear_critical() { + InterruptDisabler disabler; auto prev_critical = in_critical(); write_gs_ptr(__builtin_offsetof(Processor, m_in_critical), 0); auto& proc = current();