Thomas Gleixner
6a847a6057
x86/speculation: Add prctl() control for indirect branch speculation
commit 9137bb27e60e554dab694eafa4cca241fa3a694f upstream
Add the PR_SPEC_INDIRECT_BRANCH option for the PR_GET_SPECULATION_CTRL and
PR_SET_SPECULATION_CTRL prctls to allow fine grained per task control of
indirect branch speculation via STIBP and IBPB.
Invocations:
Check indirect branch speculation status with
- prctl(PR_GET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, 0, 0, 0);
Enable indirect branch speculation with
- prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_ENABLE, 0, 0);
Disable indirect branch speculation with
- prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_DISABLE, 0, 0);
Force disable indirect branch speculation with
- prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_INDIRECT_BRANCH, PR_SPEC_FORCE_DISABLE, 0, 0);
See Documentation/userspace-api/spec_ctrl.rst.
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Casey Schaufler <casey.schaufler@intel.com>
Cc: Asit Mallick <asit.k.mallick@intel.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jon Masters <jcm@redhat.com>
Cc: Waiman Long <longman9394@gmail.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Dave Stewart <david.c.stewart@intel.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20181125185005.866780996@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-05 19:41:22 +01:00
..
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2018-03-03 10:24:29 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 10:04:46 -07:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2018-03-28 18:24:29 +02:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-08-31 17:32:38 -04:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-12-05 11:26:34 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 10:04:46 -07:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2018-12-05 19:41:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2018-09-19 22:43:38 +02:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2018-05-30 07:52:16 +02:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2018-09-29 03:06:04 -07:00
2018-02-03 17:39:02 +01:00
2017-11-02 11:19:54 +01:00
2018-08-15 18:12:59 +02:00
2017-11-02 11:19:54 +01:00
2018-03-03 10:24:34 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-10-19 22:13:40 -04:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2018-08-24 13:09:03 +02:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2018-11-13 11:14:57 -08:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2018-06-05 11:41:56 +02:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2018-12-05 19:41:22 +01:00
2017-11-02 11:19:54 +01:00
2018-02-16 20:22:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-08-14 11:53:34 +02:00
2017-11-02 11:19:54 +01:00
2018-04-24 09:36:37 +02:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-30 08:40:40 +00:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2018-11-23 08:19:26 +01:00
2017-11-02 11:20:11 +01:00
2018-05-22 18:54:04 +02:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-08-07 14:16:22 -07:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2018-04-08 14:26:30 +02:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2018-09-19 22:43:47 +02:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-12-25 14:26:33 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-08-04 10:30:27 +02:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-30 08:40:40 +00:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-08-24 09:57:28 +02:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00
2017-11-02 11:19:54 +01:00
2017-11-02 11:20:11 +01:00