On 05/16/2018 11:07 PM, Ram Pai wrote:
what would change the key-permission-values enforced in signal-handler
context? Or can it never be changed, ones set through sys_pkey_alloc()?
The access rights can only be set by pkey_alloc and are unchanged after
that (so we do not have to discuss whether the signal handler access
rights are per-thread or not).
I suppose key-permission-values change done in non-signal-handler context,
will not apply to those in signal-handler context.
Correct, that is the plan.
Can the signal handler change the key-permission-values from the
Yes, changes are possible. The access rights given to pkey_alloc only
specify the initial access rights when the signal handler is entered.
We need to decide if we should restore it on exit from the signal
handler. There is also the matter of siglongjmp, which currently does
not restore the current thread's access rights. In general, this might
be difficult to implement because of the limited space in jmp_buf.