AnyPS5/core/libs/prx/libkernel/DirectMemory
fdfawef324 9d96752fcd fix(libkernel): let munmap succeed over a range with nothing mapped
munmap and sceKernelMunmap over a range in which no page is mapped
failed: munmap returned EINVAL and sceKernelMunmap let the registry's
exception escape. Both now return 0. The console returns 0 for
sceKernelMunmap of a range it just unmapped and of a never-mapped
address, and EINVAL only for a zero length, as measured by prosper's
console oracle (kernelx.golden.tsv, kx_fmem_unmap_again,
kx_fmem_munmap_unmapped).

The other half of #3196, a range with an unmapped page in the middle, is
already fixed on main by 04ed61957; the test covers both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:59:32 +05:30
..
DirectMemory.cpp fix(libkernel): let munmap succeed over a range with nothing mapped 2026-10-11 21:59:32 +05:30
DirectMemory.hpp fix(libkernel): report the largest free direct memory block from sceKernelAvailableDirectMemorySize 2026-10-11 00:58:28 +02:00
Export.cpp fix(libkernel): report the largest free direct memory block from sceKernelAvailableDirectMemorySize 2026-10-11 00:58:28 +02:00
MemoryPool.cpp fix(libkernel): report the largest free direct memory block from sceKernelAvailableDirectMemorySize 2026-10-11 00:58:28 +02:00
MemoryPool.hpp fix(libkernel): correct the MemoryPool.hpp include guard 2026-10-06 14:57:51 +02:00
MemoryPoolExport.cpp fix(libkernel): honour MAP_FIXED in sceKernelReserveVirtualRange and sceKernelMemoryPoolReserve 2026-10-01 00:00:22 +02:00
PosixMemory.cpp fix(libkernel): answer munlock from the guest mapping state on Linux 2026-10-10 22:56:07 +13:00