Changes

Jump to navigation Jump to search
603 bytes added ,  20:46, 22 April 2017
Created page with "= Userspace = The userspace virtual address space has 38 bits. It seems that when the IPC protocol was designed, it was only 36 bits leading to a weird encoding format. There..."
= Userspace =
The userspace virtual address space has 38 bits. It seems that when the IPC protocol was designed, it was only 36 bits leading to a weird encoding format.

There are several regions maintained by the kernel, each one starting at the upper bits bit37-21 randomized:
* Main binary region.
* Heap region.
* Stack mapping region, available from [[SVC#svcGetInfo]].

For the stack mapping region, the userland randomizes a page-offset where to start inside the region.
This adds some additional entropy.

Binaries mapped by RO seems to be mapped randomly everywhere in the entire address space.

Navigation menu