prctl.2: Add PR_SPEC_INDIRECT_BRANCH for SPECULATION_CTRL prctls

Add the PR_SPEC_INDIRECT_BRANCH "misfeature" added in Linux 4.20
for PR_SET_SPECULATION_CTRL and PR_GET_SPECULATION_CTRL.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Cc: Tim Chen <tim.c.chen@linux.intel.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:55 +01:00 committed by Michael Kerrisk
parent 7ef5957484
commit 277d7d6d04
1 changed files with 18 additions and 6 deletions

View File

@ -1213,11 +1213,20 @@ arguments must be specified as 0; otherwise the call fails with the error
.\" commit 356e4bfff2c5489e016fdb925adbf12a1e3950ee
Sets the state of the speculation misfeature specified in
.IR arg2 .
Currently, the only permitted value for this argument is
Currently, this argument must be one of:
.RS
.TP
.B PR_SPEC_STORE_BYPASS
(otherwise the call fails with the error
speculative store bypass control, or
.\" commit 9137bb27e60e554dab694eafa4cca241fa3a694f
.TP
.BR PR_SPEC_INDIRECT_BRANCH " (since Linux 4.20)"
indirect branch speculation control.
.RE
.IP
(Otherwise the call fails with the error
.BR ENODEV ).
This setting is a per-thread attribute.
These settings are per-thread attributes.
The
.IR arg3
argument is used to hand in the control value,
@ -1235,13 +1244,16 @@ Same as
.BR PR_SPEC_DISABLE ,
but cannot be undone.
A subsequent
.B
prctl(..., PR_SPEC_ENABLE)
.BR prctl (\c
.IR arg2 ,
.BR PR_SPEC_ENABLE )
with the same value for
.I arg2
will fail with the error
.BR EPERM .
.RE
.IP
Any other value in
Any unsupported value in
.IR arg3
will result in the call failing with the error
.BR ERANGE .