On 12/13/2017 12:13 AM, Ram Pai wrote:
On POWER, the value of the pkey_read() i.e contents the AMR register(pkru equivalent), is always the same regardless of its context; signal handler or not. In other words, the permission of any allocated key will not reset in a signal handler context.
That's certainly the simpler semantics, but I don't like how they differ from x86.
Is the AMR register reset to the original value upon (regular) return from the signal handler?
I was not aware that x86 would reset the key permissions in signal handler. I think, the proposed behavior for PKEY_ALLOC_SETSIGNAL should actually be the default behavior.
Note that PKEY_ALLOC_SETSIGNAL does something different: It requests that the kernel sets the access rights for the key to the bits specified at pkey_alloc time when the signal handler is invoked. So there is still a reset with PKEY_ALLOC_SETSIGNAL, but to a different value. It did not occur to me that it might be desirable to avoid resetting the value on a per-key basis.
Thanks, Florian -- To unsubscribe from this list: send the line "unsubscribe linux-x86_64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html