mirror of https://github.com/mkerrisk/man-pages
pkey.7: Add description of signal handling behavior
The signal behavior of pkeys is special compared to many other processor and OS features. Add a special section to describe the behavior. Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
This commit is contained in:
parent
3e712e2a67
commit
c92965c2be
16
man7/pkeys.7
16
man7/pkeys.7
|
@ -135,6 +135,22 @@ appropriate for child threads at the time when
|
||||||
.BR clone (2)
|
.BR clone (2)
|
||||||
is called, or ensure that each child thread can perform its
|
is called, or ensure that each child thread can perform its
|
||||||
own initialization of protection key rights.
|
own initialization of protection key rights.
|
||||||
|
|
||||||
|
.SS Signal Handler Behavior
|
||||||
|
Each time a signal handler is invoked (including nested signals), the
|
||||||
|
thread is temporarily given a new, default set of protection key rights
|
||||||
|
that override the rights from the interrupted context.
|
||||||
|
This means that applications must re-establish their desired protection
|
||||||
|
key rights upon entering a signal handler if the desired rights differ
|
||||||
|
from the defaults.
|
||||||
|
The rights of any interrupted context are restored when the signal
|
||||||
|
handler returns.
|
||||||
|
|
||||||
|
This signal behavior is unusual and is due to the fact that the x86 PKRU
|
||||||
|
register (which stores protection key access rights) is managed with the
|
||||||
|
same hardware mechanism (XSAVE) that manages floating-point registers.
|
||||||
|
The signal behavior is the same as that of floating point registers.
|
||||||
|
|
||||||
.SS Protection Keys system calls
|
.SS Protection Keys system calls
|
||||||
The Linux kernel implements the following pkey-related system calls:
|
The Linux kernel implements the following pkey-related system calls:
|
||||||
.BR pkey_mprotect (2),
|
.BR pkey_mprotect (2),
|
||||||
|
|
Loading…
Reference in New Issue