summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/shared_memory.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-03-29 23:01:38 +0100
committerLioncash <mathew1800@gmail.com>2019-03-29 23:16:19 +0100
commitc6147a439d16112a0794b3fb98e825a9be864066 (patch)
tree5471089bf0b6b0b58517325fef2c6b0a634ac9cc /src/core/hle/kernel/shared_memory.cpp
parentMerge pull request #2266 from FernandoS27/arbitration (diff)
downloadyuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar
yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.gz
yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.bz2
yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.lz
yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.xz
yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.zst
yuzu-c6147a439d16112a0794b3fb98e825a9be864066.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/shared_memory.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp
index 62861da36..273e6a25e 100644
--- a/src/core/hle/kernel/shared_memory.cpp
+++ b/src/core/hle/kernel/shared_memory.cpp
@@ -119,7 +119,15 @@ ResultCode SharedMemory::Map(Process& target_process, VAddr address, MemoryPermi
ConvertPermissions(permissions));
}
-ResultCode SharedMemory::Unmap(Process& target_process, VAddr address) {
+ResultCode SharedMemory::Unmap(Process& target_process, VAddr address, u64 unmap_size) {
+ if (unmap_size != size) {
+ LOG_ERROR(Kernel,
+ "Invalid size passed to Unmap. Size must be equal to the size of the "
+ "memory managed. Shared memory size=0x{:016X}, Unmap size=0x{:016X}",
+ size, unmap_size);
+ return ERR_INVALID_SIZE;
+ }
+
// TODO(Subv): Verify what happens if the application tries to unmap an address that is not
// mapped to a SharedMemory.
return target_process.VMManager().UnmapRange(address, size);