From 01ad225639deed2445b7b1f9f2d40259e9220a13 Mon Sep 17 00:00:00 2001 From: Stephen Miller Date: Fri, 7 Mar 2025 21:41:31 -0600 Subject: [PATCH] Fix error return on sceKernelMunmap FreeBSD docs state that len <= 0 is a EINVAL return. --- src/core/libraries/kernel/memory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/libraries/kernel/memory.cpp b/src/core/libraries/kernel/memory.cpp index 82c5115f1..76a9a876b 100644 --- a/src/core/libraries/kernel/memory.cpp +++ b/src/core/libraries/kernel/memory.cpp @@ -506,8 +506,8 @@ s32 PS4_SYSV_ABI sceKernelConfiguredFlexibleMemorySize(u64* sizeOut) { int PS4_SYSV_ABI sceKernelMunmap(void* addr, size_t len) { LOG_INFO(Kernel_Vmm, "addr = {}, len = {:#x}", fmt::ptr(addr), len); - if (len == 0) { - return ORBIS_OK; + if (len <= 0) { + return ORBIS_KERNEL_ERROR_EINVAL; } auto* memory = Core::Memory::Instance(); return memory->UnmapMemory(std::bit_cast(addr), len);