D764 - The process parameter is the executable's own segment

Status: decided Date: 2026-10-08 known_by: guest-observed

sceKernelGetProcParam() answers the address of the executable's PT_SCE_PROCPARAM segment, as placed and relocated. An executable without one gets null.

Why: every commercial title in the corpus ships its own libc.prx. Its _malloc_init calls this first. It reads a size of at least 0x40 at +0, then the libc parameters through the pointer at +0x38, before it sets up the heap that every allocation inside libc.prx comes from. PPSA02664's segment has exactly that shape. It states 0x60 bytes and "ORBI" at +8, and its relative relocations fill +0x30 to +0x48; the +0x38 slot points at the eboot's libc parameters. Answered with the placeholder, _malloc_init dereferenced it.

Rejected: