diff options
author | Idan Horowitz <idan.horowitz@gmail.com> | 2021-08-19 22:45:07 +0300 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-08-19 23:49:53 +0200 |
commit | cf271183b4befeba7c96bd6ca25246b899e836bb (patch) | |
tree | 0361e7378750c2c4e45e5e01e273d6fe416555af /Kernel/Arch/x86/common/Processor.cpp | |
parent | 1259dc362376e8011d20d4d9e2fcc49d5b7f9dc9 (diff) | |
download | serenity-cf271183b4befeba7c96bd6ca25246b899e836bb.zip |
Kernel: Make Process::current() return a Process& instead of Process*
This has several benefits:
1) We no longer just blindly derefence a null pointer in various places
2) We will get nicer runtime error messages if the current process does
turn out to be null in the call location
3) GCC no longer complains about possible nullptr dereferences when
compiling without KUBSAN
Diffstat (limited to 'Kernel/Arch/x86/common/Processor.cpp')
-rw-r--r-- | Kernel/Arch/x86/common/Processor.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Kernel/Arch/x86/common/Processor.cpp b/Kernel/Arch/x86/common/Processor.cpp index 8cc84f2314..ce6b89fe79 100644 --- a/Kernel/Arch/x86/common/Processor.cpp +++ b/Kernel/Arch/x86/common/Processor.cpp @@ -685,7 +685,7 @@ void Processor::flush_tlb_local(VirtualAddress vaddr, size_t page_count) void Processor::flush_tlb(Memory::PageDirectory const* page_directory, VirtualAddress vaddr, size_t page_count) { - if (s_smp_enabled && (!Memory::is_user_address(vaddr) || Process::current()->thread_count() > 1)) + if (s_smp_enabled && (!Memory::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); |