diff options
| author | 2018-09-18 14:25:00 -0400 | |
|---|---|---|
| committer | 2018-09-18 14:25:00 -0400 | |
| commit | 733c47623b98d873b58ce796b672b7b3d4081b0c (patch) | |
| tree | 73b76702c2e562a6bcc1ae8cdddf55129cddac34 /src/core/hle/kernel/mutex.cpp | |
| parent | Merge pull request #1344 from lioncash/arm (diff) | |
| parent | kernel/mutex: Replace ResultCode construction for invalid addresses with the ... (diff) | |
| download | yuzu-733c47623b98d873b58ce796b672b7b3d4081b0c.tar.gz yuzu-733c47623b98d873b58ce796b672b7b3d4081b0c.tar.xz yuzu-733c47623b98d873b58ce796b672b7b3d4081b0c.zip | |
Merge pull request #1343 from lioncash/mutex
kernel/svc: Handle invalid address cases within svcArbitrateLock() and svcArbitrateUnlock()
Diffstat (limited to 'src/core/hle/kernel/mutex.cpp')
| -rw-r--r-- | src/core/hle/kernel/mutex.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/hle/kernel/mutex.cpp b/src/core/hle/kernel/mutex.cpp index 36bf0b677..51f4544be 100644 --- a/src/core/hle/kernel/mutex.cpp +++ b/src/core/hle/kernel/mutex.cpp | |||
| @@ -62,7 +62,7 @@ ResultCode Mutex::TryAcquire(HandleTable& handle_table, VAddr address, Handle ho | |||
| 62 | Handle requesting_thread_handle) { | 62 | Handle requesting_thread_handle) { |
| 63 | // The mutex address must be 4-byte aligned | 63 | // The mutex address must be 4-byte aligned |
| 64 | if ((address % sizeof(u32)) != 0) { | 64 | if ((address % sizeof(u32)) != 0) { |
| 65 | return ResultCode(ErrorModule::Kernel, ErrCodes::InvalidAddress); | 65 | return ERR_INVALID_ADDRESS; |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | SharedPtr<Thread> holding_thread = handle_table.Get<Thread>(holding_thread_handle); | 68 | SharedPtr<Thread> holding_thread = handle_table.Get<Thread>(holding_thread_handle); |
| @@ -100,7 +100,7 @@ ResultCode Mutex::TryAcquire(HandleTable& handle_table, VAddr address, Handle ho | |||
| 100 | ResultCode Mutex::Release(VAddr address) { | 100 | ResultCode Mutex::Release(VAddr address) { |
| 101 | // The mutex address must be 4-byte aligned | 101 | // The mutex address must be 4-byte aligned |
| 102 | if ((address % sizeof(u32)) != 0) { | 102 | if ((address % sizeof(u32)) != 0) { |
| 103 | return ResultCode(ErrorModule::Kernel, ErrCodes::InvalidAddress); | 103 | return ERR_INVALID_ADDRESS; |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | auto [thread, num_waiters] = GetHighestPriorityMutexWaitingThread(GetCurrentThread(), address); | 106 | auto [thread, num_waiters] = GetHighestPriorityMutexWaitingThread(GetCurrentThread(), address); |