From 277d7d6d047352499b971202d19ebce3aa631278 Mon Sep 17 00:00:00 2001 From: Dave Martin Date: Tue, 12 May 2020 17:36:55 +0100 Subject: [PATCH] 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 Cc: Tim Chen Cc: Thomas Gleixner Signed-off-by: Michael Kerrisk --- man2/prctl.2 | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/man2/prctl.2 b/man2/prctl.2 index 605194fc7..4223d5a9b 100644 --- a/man2/prctl.2 +++ b/man2/prctl.2 @@ -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 .