prctl.2: Add PR_SPEC_DISABLE_NOEXEC for SPECULATION_CTRL prctls

Add the PR_SPEC_DISABLE_NOEXEC mode added in Linux 5.1
for the PR_SPEC_STORE_BYPASS "misfeature" of
PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Cc: Waiman Long <longman@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Dave Martin 2020-05-12 17:36:56 +01:00 committed by Michael Kerrisk
parent 68b4922bf5
commit 734439ca9e
1 changed files with 20 additions and 2 deletions

View File

@ -1187,6 +1187,12 @@ The speculation feature is disabled, mitigation is enabled.
Same as
.B PR_SPEC_DISABLE
but cannot be undone.
.TP
.BR PR_SPEC_DISABLE_NOEXEC " (since Linux 5.1)"
Same as
.BR PR_SPEC_DISABLE ,
but but the state will be cleared on
.BR execve (2).
.RE
.IP
If all bits are 0,
@ -1258,6 +1264,17 @@ with the same value for
.I arg2
will fail with the error
.BR EPERM .
.\" commit 71368af9027f18fe5d1c6f372cfdff7e4bde8b48
.TP
.BR PR_SPEC_DISABLE_NOEXEC " (since Linux 5.1)"
Same as
.BR PR_SPEC_DISABLE ,
but but the state will be cleared on
.BR execve (2).
Currently only supported for
.I arg2
equal to
.B PR_SPEC_STORE_BYPASS.
.RE
.IP
Any unsupported value in
@ -1906,11 +1923,12 @@ was
.BR PR_SET_SPECULATION_CTRL
and
.IR arg3
is neither
is not
.BR PR_SPEC_ENABLE ,
.BR PR_SPEC_DISABLE ,
.BR PR_SPEC_FORCE_DISABLE ,
nor
.BR PR_SPEC_FORCE_DISABLE .
.BR PR_SPEC_DISABLE_NOEXEC .
.SH VERSIONS
The
.BR prctl ()