diff --git a/Kernel/Arch/i386/CPU.cpp b/Kernel/Arch/i386/CPU.cpp index 59d80c2d2b..d9bae8c8ad 100644 --- a/Kernel/Arch/i386/CPU.cpp +++ b/Kernel/Arch/i386/CPU.cpp @@ -1703,7 +1703,7 @@ void Processor::flush_tlb_local(VirtualAddress vaddr, size_t page_count) void Processor::flush_tlb(const PageDirectory* page_directory, VirtualAddress vaddr, size_t page_count) { - if (s_smp_enabled) + if (s_smp_enabled && (!is_user_address(vaddr) || Process::current()->thread_count() > 1)) smp_broadcast_flush_tlb(page_directory, vaddr, page_count); else flush_tlb_local(vaddr, page_count);