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 .\" commit 356e4bfff2c5489e016fdb925adbf12a1e3950ee
Sets the state of the speculation misfeature specified in Sets the state of the speculation misfeature specified in
.IR arg2 . .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 .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 ). .BR ENODEV ).
This setting is a per-thread attribute. These settings are per-thread attributes.
The The
.IR arg3 .IR arg3
argument is used to hand in the control value, argument is used to hand in the control value,
@ -1235,13 +1244,16 @@ Same as
.BR PR_SPEC_DISABLE , .BR PR_SPEC_DISABLE ,
but cannot be undone. but cannot be undone.
A subsequent A subsequent
.B .BR prctl (\c
prctl(..., PR_SPEC_ENABLE) .IR arg2 ,
.BR PR_SPEC_ENABLE )
with the same value for
.I arg2
will fail with the error will fail with the error
.BR EPERM . .BR EPERM .
.RE .RE
.IP .IP
Any other value in Any unsupported value in
.IR arg3 .IR arg3
will result in the call failing with the error will result in the call failing with the error
.BR ERANGE . .BR ERANGE .