On Fri, 2017-06-16 at 20:52 -0700, Ram Pai wrote: > Memory protection keys enable applications to protect its > address space from inadvertent access or corruption from > itself.
I presume by itself you mean protection between threads? > > The overall idea: > > A process allocates a key and associates it with > a address range within its address space. OK, so this is per VMA? > The process than can dynamically set read/write > permissions on the key without involving the > kernel. This bit is not clear, how can the key be set without involving the kernel? I presume you mean the key is set in the PTE's and the access protection values can be set without involving the kernel? Any code that violates the permissions > off the address space; as defined by its associated > key, will receive a segmentation fault. > > This patch series enables the feature on PPC64. > It is enabled on HPTE 64K-page platform. > > ISA3.0 section 5.7.13 describes the detailed specifications. > > > Testing: > This patch series has passed all the protection key > tests available in the selftests directory. > The tests are updated to work on both x86 and powerpc. Balbir