]> git.baikalelectronics.ru Git - kernel.git/commit
x86/fsgsbase: Revert FSGSBASE support
authorThomas Gleixner <tglx@linutronix.de>
Wed, 3 Jul 2019 12:19:36 +0000 (14:19 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 3 Jul 2019 14:35:23 +0000 (16:35 +0200)
commit1598c270d1dde0b9357b65437b565f457764bd4d
treeccbe3a9d2e5c94ad6bc5e700b2a91cb7e8d0769e
parent152541339cb464fd2920d703e8bfa93e6ee2b739
x86/fsgsbase: Revert FSGSBASE support

The FSGSBASE series turned out to have serious bugs and there is still an
open issue which is not fully understood yet.

The confidence in those changes has become close to zero especially as the
test cases which have been shipped with that series were obviously never
run before sending the final series out to LKML.

  ./fsgsbase_64 >/dev/null
  Segmentation fault

As the merge window is close, the only sane decision is to revert FSGSBASE
support. The revert is necessary as this branch has been merged into
perf/core already and rebasing all of that a few days before the merge
window is not the most brilliant idea.

I could definitely slap myself for not noticing the test case fail when
merging that series, but TBH my expectations weren't that low back
then. Won't happen again.

Revert the following commits:
55cea3485b7a ("x86/entry/64: Fix and clean up paranoid_exit")
6928534d9466 ("Documentation/x86/64: Add documentation for GS/FS addressing mode")
61b52989020b ("x86/elf: Enumerate kernel FSGSBASE capability in AT_HWCAP2")
1cabdf98b7e8 ("x86/cpu: Enable FSGSBASE on 64bit by default and add a chicken bit")
36591129aa95 ("x86/entry/64: Document GSBASE handling in the paranoid path")
201729828579 ("x86/entry/64: Handle FSGSBASE enabled paranoid entry/exit")
d4ef177b39a1 ("x86/entry/64: Introduce the FIND_PERCPU_BASE macro")
623bc219a1ee ("x86/entry/64: Switch CR3 before SWAPGS in paranoid entry")
631d933b7f9a ("x86/process/64: Use FSGSBASE instructions on thread copy and ptrace")
14410deec61d ("x86/process/64: Use FSBSBASE in switch_to() if available")
c71bde185870 ("x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions")
44dddd8a96c0 ("x86/fsgsbase/64: Add intrinsics for FSGSBASE instructions")
b1a937dd56e0 ("x86/cpu: Add 'unsafe_fsgsbase' to enable CR4.FSGSBASE")

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Chang S. Bae <chang.seok.bae@intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ravi Shankar <ravi.v.shankar@intel.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Documentation/admin-guide/kernel-parameters.txt
Documentation/x86/entry_64.rst
Documentation/x86/x86_64/fsgs.rst [deleted file]
Documentation/x86/x86_64/index.rst
arch/x86/entry/calling.h
arch/x86/entry/entry_64.S
arch/x86/include/asm/fsgsbase.h
arch/x86/include/asm/inst.h
arch/x86/include/uapi/asm/hwcap2.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/process_64.c