[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181125183328.318175777@linutronix.de>
Date: Sun, 25 Nov 2018 19:33:28 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: x86@...nel.org, Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Jiri Kosina <jkosina@...e.cz>,
Tom Lendacky <thomas.lendacky@....com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
David Woodhouse <dwmw@...zon.co.uk>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Andi Kleen <ak@...ux.intel.com>,
Dave Hansen <dave.hansen@...el.com>,
Casey Schaufler <casey.schaufler@...el.com>,
Asit Mallick <asit.k.mallick@...el.com>,
Arjan van de Ven <arjan@...ux.intel.com>,
Jon Masters <jcm@...hat.com>,
Waiman Long <longman9394@...il.com>,
Greg KH <gregkh@...uxfoundation.org>,
Dave Stewart <david.c.stewart@...el.com>,
Kees Cook <keescook@...omium.org>
Subject: [patch V2 00/28] x86/speculation: Remedy the STIBP/IBPB overhead
Thats hopefully the final version of this. Changes since V1:
- Renamed the command line option and related code to spectre_v2_user= as
suggested by Josh.
- Thought more about the back to back optimization and finally left the
IBPB code in switch_mm().
It still removes the ptrace check for the always IBPB case. That's
substantial overhead for dubious value now that the default is
conditional (prctl/seccomp) IBPB.
- Added two options which allow conditional STIBP and IBPB always mode.
- Addressed the review comments
Documentation is still work in progress. Thanks Andi for providing the
first draft for it.
Still based on tip.git x86/pti as it has been discussed to remove the
minimal RETPOLINE bandaid from stable kernels as well.
It's avaiable from git:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/pti
Thanks,
tglx
8<------------------------
Documentation/admin-guide/kernel-parameters.txt | 56 ++
Documentation/userspace-api/spec_ctrl.rst | 9
arch/x86/Kconfig | 8
arch/x86/include/asm/msr-index.h | 5
arch/x86/include/asm/nospec-branch.h | 14
arch/x86/include/asm/spec-ctrl.h | 18
arch/x86/include/asm/switch_to.h | 3
arch/x86/include/asm/thread_info.h | 18
arch/x86/include/asm/tlbflush.h | 8
arch/x86/kernel/cpu/bugs.c | 520 ++++++++++++++++++------
arch/x86/kernel/process.c | 79 ++-
arch/x86/kernel/process.h | 39 +
arch/x86/kernel/process_32.c | 10
arch/x86/kernel/process_64.c | 10
arch/x86/mm/tlb.c | 109 +++--
include/linux/ptrace.h | 17
include/linux/sched.h | 9
include/linux/sched/smt.h | 20
include/uapi/linux/prctl.h | 1
kernel/cpu.c | 15
kernel/ptrace.c | 10
kernel/sched/core.c | 19
kernel/sched/sched.h | 4
tools/include/uapi/linux/prctl.h | 1
24 files changed, 745 insertions(+), 257 deletions(-)
Powered by blists - more mailing lists