summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2022-02-18 23:48:16 -0800
committerGravatar bunnei2022-02-18 23:48:16 -0800
commitc9260a75f67f256f23ed4e4e13154257ed0575a0 (patch)
treea1aaab461aaa27fae3241dca557bb975502bf48f
parentMerge pull request #7900 from german77/enter (diff)
downloadyuzu-c9260a75f67f256f23ed4e4e13154257ed0575a0.tar.gz
yuzu-c9260a75f67f256f23ed4e4e13154257ed0575a0.tar.xz
yuzu-c9260a75f67f256f23ed4e4e13154257ed0575a0.zip
core: hle: kernel: KPageTable: Fix UnmapPages.
- Fixes a logic bug in KPageTable::UnmapPages.
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_page_table.cpp5
1 files changed, 2 insertions, 3 deletions
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
681 VAddr cur_addr{addr}; 681 VAddr cur_addr{addr};
682 682
683 for (const auto& node : page_linked_list.Nodes()) { 683 for (const auto& node : page_linked_list.Nodes()) {
684 const std::size_t num_pages{(addr - cur_addr) / PageSize}; 684 if (const auto result{Operate(cur_addr, node.GetNumPages(), KMemoryPermission::None,
685 if (const auto result{ 685 OperationType::Unmap)};
686 Operate(addr, num_pages, KMemoryPermission::None, OperationType::Unmap)};
687 result.IsError()) { 686 result.IsError()) {
688 return result; 687 return result;
689 } 688 }