On Tue, 2017-06-27 at 03:11 -0700, Ram Pai wrote:
> Memory protection keys enable applications to protect its
> address space from inadvertent access or corruption from
> itself.
> 
> The overall idea:
> 
>  A process allocates a   key  and associates it with
>  a  address  range  within    its   address   space.
>  The process  than  can  dynamically  set read/write 
>  permissions on  the   key   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 HPTE
> 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.
> 
> version v4:
>       (1) patches no more depend on the pte bits to program
>               the hpte -- comment by Balbir
>       (2) documentation updates
>       (3) fixed a bug in the selftest.
>       (4) unlike x86, powerpc lets signal handler change key
>           permission bits; the change will persist across
>           signal handler boundaries. Earlier we allowed
>           the signal handler to modify a field in the siginfo
>           structure which would than be used by the kernel
>           to program the key protection register (AMR)
>                       -- resolves a issue raised by Ben.
>               "Calls to sys_swapcontext with a made-up context
>               will end up with a crap AMR if done by code who
>               didn't know about that register".
>       (5) these changes enable protection keys on 4k-page 
>               kernel aswell.

I have not looked at the full series, but it seems cleaner than the original
one and the side-effect is that we can support 4k as well. Nice!

Balbir Singh.

Reply via email to