From b8be5524bc3fd9c1d31a4a56cb321840c42ef0bb Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 25 Aug 2018 05:40:42 -0400 Subject: kernel/error: Add error code for invalid memory permissions --- src/core/hle/kernel/errors.h | 5 +++-- src/core/hle/kernel/shared_memory.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/core') diff --git a/src/core/hle/kernel/errors.h b/src/core/hle/kernel/errors.h index c4d9e8ea9..8b4e05191 100644 --- a/src/core/hle/kernel/errors.h +++ b/src/core/hle/kernel/errors.h @@ -15,13 +15,13 @@ enum { SessionClosedByRemote = 26, PortNameTooLong = 30, NoPendingSessions = 35, - WrongPermission = 46, InvalidBufferDescriptor = 48, MaxConnectionsReached = 52, // Confirmed Switch OS error codes InvalidAddress = 102, InvalidMemoryState = 106, + InvalidMemoryPermissions = 108, InvalidProcessorId = 113, InvalidHandle = 114, InvalidCombination = 116, @@ -40,7 +40,6 @@ enum { constexpr ResultCode ERR_OUT_OF_HANDLES(-1); constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); -constexpr ResultCode ERR_WRONG_PERMISSION(-1); constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); constexpr ResultCode ERR_INVALID_ENUM_VALUE(ErrorModule::Kernel, ErrCodes::InvalidEnumValue); constexpr ResultCode ERR_INVALID_ENUM_VALUE_FND(-1); @@ -50,6 +49,8 @@ constexpr ResultCode ERR_INVALID_COMBINATION_KERNEL(ErrorModule::Kernel, constexpr ResultCode ERR_OUT_OF_MEMORY(-1); constexpr ResultCode ERR_INVALID_ADDRESS(ErrorModule::Kernel, ErrCodes::InvalidAddress); constexpr ResultCode ERR_INVALID_ADDRESS_STATE(ErrorModule::Kernel, ErrCodes::InvalidMemoryState); +constexpr ResultCode ERR_INVALID_MEMORY_PERMISSIONS(ErrorModule::Kernel, + ErrCodes::InvalidMemoryPermissions); constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle); constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState); constexpr ResultCode ERR_INVALID_POINTER(-1); diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp index 21ddc2f7d..fc168d2b5 100644 --- a/src/core/hle/kernel/shared_memory.cpp +++ b/src/core/hle/kernel/shared_memory.cpp @@ -101,7 +101,7 @@ ResultCode SharedMemory::Map(Process* target_process, VAddr address, MemoryPermi static_cast(this->permissions) & ~static_cast(other_permissions)) { LOG_ERROR(Kernel, "cannot map id={}, address=0x{:X} name={}, permissions don't match", GetObjectId(), address, name); - return ERR_WRONG_PERMISSION; + return ERR_INVALID_MEMORY_PERMISSIONS; } VAddr target_address = address; -- cgit v1.2.3