From ea1e5b630db6f9a4a222637ca07f7785bab58815 Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sun, 5 Jun 2022 23:02:00 +0300 Subject: [PATCH] Kernel: Verify system memory info consistency --- Kernel/Memory/MemoryManager.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Kernel/Memory/MemoryManager.h b/Kernel/Memory/MemoryManager.h index b1c767c484..a7eebf530f 100644 --- a/Kernel/Memory/MemoryManager.h +++ b/Kernel/Memory/MemoryManager.h @@ -203,6 +203,7 @@ public: SystemMemoryInfo get_system_memory_info() { SpinlockLocker lock(s_mm_lock); + verify_system_memory_info_consistency(); return m_system_memory_info; } @@ -286,6 +287,12 @@ private: }; void release_pte(PageDirectory&, VirtualAddress, IsLastPTERelease); + ALWAYS_INLINE void verify_system_memory_info_consistency() const + { + auto user_physical_pages_unused = m_system_memory_info.user_physical_pages_committed + m_system_memory_info.user_physical_pages_uncommitted; + VERIFY(m_system_memory_info.user_physical_pages == (m_system_memory_info.user_physical_pages_used + user_physical_pages_unused)); + } + RefPtr m_kernel_page_directory; RefPtr m_shared_zero_page;