Thread (8 messages) flat view 8 messages, 3 authors, 2018-05-19

Re: pkeys on POWER: Default AMR, UAMOR values

From: Florian Weimer <hidden>
Date: 2018-05-19 05:15:08
Also in: linux-mm

On 05/19/2018 02:52 AM, Ram Pai wrote:
quoted
quoted
The POWER semantics make it very hard for a multithreaded program to
meaningfully use protection keys to prevent accidental access to important
memory.
And you can change access rights for unallocated keys (unallocated
at thread start time, allocated later) on x86.  I have extended the
misc/tst-pkeys test to verify that, and it passes on x86, but not on
POWER, where the access rights are stuck.
This is something I do not understand. How can a thread change permissions
on a key, that is not even allocated in the first place.
It was allocated by another thread, and there is synchronization so that 
the allocation happens before the change in access rights.
Do you consider a key
allocated in some other thread's context, as allocated in this threads
context?
Yes, x86 does that.
If not, does that mean -- On x86, you can activate a key just
by changing its permission?
This also true on x86, but just an artifact of the implementation.  You 
are supposed to call pkey_alloc before changing the flag.

Thanks,
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help