From c9260a75f67f256f23ed4e4e13154257ed0575a0 Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 18 Feb 2022 23:48:16 -0800 Subject: core: hle: kernel: KPageTable: Fix UnmapPages. - Fixes a logic bug in KPageTable::UnmapPages. --- src/core/hle/kernel/k_page_table.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/core/hle/kernel/k_page_table.cpp b/src/core/hle/kernel/k_page_table.cpp index 912853e5c..a9eb70b8b 100644 --- a/src/core/hle/kernel/k_page_table.cpp +++ b/src/core/hle/kernel/k_page_table.cpp @@ -681,9 +681,8 @@ ResultCode KPageTable::UnmapPages(VAddr addr, const KPageLinkedList& page_linked VAddr cur_addr{addr}; for (const auto& node : page_linked_list.Nodes()) { - const std::size_t num_pages{(addr - cur_addr) / PageSize}; - if (const auto result{ - Operate(addr, num_pages, KMemoryPermission::None, OperationType::Unmap)}; + if (const auto result{Operate(cur_addr, node.GetNumPages(), KMemoryPermission::None, + OperationType::Unmap)}; result.IsError()) { return result; } -- cgit v1.2.3