Updates from v5 [5]: * Drop the new tain flag (TAINT_INSECURE) * Cleanup copy_thread_tls(), some changelog, and unnecessary comments on assembly macros * Rearrange some helper updates appropriately (from patch 4 to 6)
Updates from v4 [4]: * Remove the FSGSBASE assembly macros Updates from v3 [3]: * Raise minimum binutils requirement to use the new instructions directly * Optimize FIND_PERCPU_BASE macro * Rename some helper functions, __{rd,wr}gsbase_inactive() * Use NOKPROBE_SYMBOL instead of __kprobes * Rebase on top of the helper function fix [7] Update from v2 [2]: * Separate out the preparatory patches [6] (merged as of now) * Bisect the paranoid_entry update patch * Edit minor nits Updates from v1 [1]: * Update the GSBASE update mechanism on the paranoid entry/exit. * Exclude ptracer backward compatibility patches. * Include FSGSBASE documentation and enumerating capability for user space * Add the TAINT_INSECURE flag. [1] Version 1: https://lore.kernel.org/patchwork/cover/934843 [2] Version 2: https://lore.kernel.org/patchwork/cover/912063 [3] Version 3: https://lore.kernel.org/patchwork/cover/1002725 [4] Version 4: https://lore.kernel.org/patchwork/cover/1032799 [5] Version 5: https://lore.kernel.org/patchwork/cover/1038035 [6] https://lore.kernel.org/patchwork/cover/988180 [7] https://lore.kernel.org/patchwork/patch/1017513 Andi Kleen (3): x86/fsgsbase/64: Add intrinsics for FSGSBASE instructions x86/elf: Enumerate kernel FSGSBASE capability in AT_HWCAP2 x86/fsgsbase/64: Add documentation for FSGSBASE Andy Lutomirski (4): x86/fsgsbase/64: Add 'unsafe_fsgsbase' to enable CR4.FSGSBASE x86/fsgsbase/64: Preserve FS/GS state in __switch_to() if FSGSBASE is on selftests/x86/fsgsbase: Test WRGSBASE x86/fsgsbase/64: Enable FSGSBASE by default and add a chicken bit Chang S. Bae (5): kbuild: Raise the minimum required binutils version to 2.21 x86/fsgsbase/64: Enable FSGSBASE instructions in the helper functions x86/fsgsbase/64: When copying a thread, use the FSGSBASE instructions if available x86/fsgsbase/64: Introduce the FIND_PERCPU_BASE macro x86/fsgsbase/64: Use the per-CPU base as GSBASE at the paranoid_entry .../admin-guide/kernel-parameters.txt | 2 + Documentation/process/changes.rst | 6 +- Documentation/x86/fsgs.txt | 104 +++++++++++++++++ arch/x86/entry/entry_64.S | 71 +++++++++--- arch/x86/include/asm/fsgsbase.h | 95 ++++++++++++++-- arch/x86/include/asm/inst.h | 15 +++ arch/x86/include/uapi/asm/hwcap2.h | 3 + arch/x86/kernel/cpu/common.c | 22 ++++ arch/x86/kernel/process_64.c | 105 ++++++++++++++++-- tools/testing/selftests/x86/fsgsbase.c | 102 ++++++++++++++++- 10 files changed, 484 insertions(+), 41 deletions(-) create mode 100644 Documentation/x86/fsgs.txt -- 2.19.1