linux/tools/testing/selftests/x86
Linus Torvalds caf9a82657 Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 PTI preparatory patches from Thomas Gleixner:
 "Todays Advent calendar window contains twentyfour easy to digest
  patches. The original plan was to have twenty three matching the date,
  but a late fixup made that moot.

   - Move the cpu_entry_area mapping out of the fixmap into a separate
     address space. That's necessary because the fixmap becomes too big
     with NRCPUS=8192 and this caused already subtle and hard to
     diagnose failures.

     The top most patch is fresh from today and cures a brain slip of
     that tall grumpy german greybeard, who ignored the intricacies of
     32bit wraparounds.

   - Limit the number of CPUs on 32bit to 64. That's insane big already,
     but at least it's small enough to prevent address space issues with
     the cpu_entry_area map, which have been observed and debugged with
     the fixmap code

   - A few TLB flush fixes in various places plus documentation which of
     the TLB functions should be used for what.

   - Rename the SYSENTER stack to CPU_ENTRY_AREA stack as it is used for
     more than sysenter now and keeping the name makes backtraces
     confusing.

   - Prevent LDT inheritance on exec() by moving it to arch_dup_mmap(),
     which is only invoked on fork().

   - Make vysycall more robust.

   - A few fixes and cleanups of the debug_pagetables code. Check
     PAGE_PRESENT instead of checking the PTE for 0 and a cleanup of the
     C89 initialization of the address hint array which already was out
     of sync with the index enums.

   - Move the ESPFIX init to a different place to prepare for PTI.

   - Several code moves with no functional change to make PTI
     integration simpler and header files less convoluted.

   - Documentation fixes and clarifications"

* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
  x86/cpu_entry_area: Prevent wraparound in setup_cpu_entry_area_ptes() on 32bit
  init: Invoke init_espfix_bsp() from mm_init()
  x86/cpu_entry_area: Move it out of the fixmap
  x86/cpu_entry_area: Move it to a separate unit
  x86/mm: Create asm/invpcid.h
  x86/mm: Put MMU to hardware ASID translation in one place
  x86/mm: Remove hard-coded ASID limit checks
  x86/mm: Move the CR3 construction functions to tlbflush.h
  x86/mm: Add comments to clarify which TLB-flush functions are supposed to flush what
  x86/mm: Remove superfluous barriers
  x86/mm: Use __flush_tlb_one() for kernel memory
  x86/microcode: Dont abuse the TLB-flush interface
  x86/uv: Use the right TLB-flush API
  x86/entry: Rename SYSENTER_stack to CPU_ENTRY_AREA_entry_stack
  x86/doc: Remove obvious weirdnesses from the x86 MM layout documentation
  x86/mm/64: Improve the memory map documentation
  x86/ldt: Prevent LDT inheritance on exec
  x86/ldt: Rework locking
  arch, mm: Allow arch_dup_mmap() to fail
  x86/vsyscall/64: Warn and fail vsyscall emulation in NATIVE mode
  ...
2017-12-23 11:53:04 -08:00
..
.gitignore selftests: x86: add missing executables to .gitignore 2017-05-03 10:55:20 -06:00
5lvl.c x86/selftests: Add test for mapping placement for 5-level paging 2017-11-16 11:43:12 +01:00
check_cc.sh selftests, x86: Rework x86 target architecture detection 2015-05-12 20:02:40 -06:00
check_initial_reg_state.c selftests/x86: Add check_initial_reg_state() 2016-01-29 09:46:37 +01:00
entry_from_vm86.c selftests/x86: Add tests for the STR and SLDT instructions 2017-11-08 11:16:25 +01:00
fsgsbase.c selftests/x86/fsgsbase: Test selectors 1, 2, and 3 2017-08-10 17:15:13 +02:00
ioperm.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
iopl.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ldt_gdt.c x86/ldt: Prevent LDT inheritance on exec 2017-12-22 20:13:01 +01:00
Makefile x86/selftests: Add test for mapping placement for 5-level paging 2017-11-16 11:43:12 +01:00
mpx-debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpx-dig.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpx-hw.h x86/mpx/selftests: Fix up weird arrays 2017-11-21 09:34:52 +01:00
mpx-mini-test.c signal/testing: Don't look for __SI_FAULT in userspace 2017-07-19 19:13:15 -05:00
mpx-mm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pkey-helpers.h x86/pkeys/selftests: Fix protection keys write() warning 2017-11-21 09:34:52 +01:00
protection_keys.c x86/pkeys/selftests: Rename 'si_pkey' to 'siginfo_pkey' 2017-11-21 09:34:52 +01:00
ptrace_syscall.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
raw_syscall_helper_32.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sigreturn.c selftests/x86/sigreturn: Use CX, not AX, as the scratch register 2016-09-13 20:34:15 +02:00
single_step_syscall.c x86/selftests: Add clobbers for int80 on x86_64 2017-03-01 10:24:56 +01:00
syscall_arg_fault.c x86/entry, selftests/x86: Add a test for 32-bit fast syscall arg faults 2015-07-07 10:58:30 +02:00
syscall_nt.c selftests/x86: In syscall_nt, test NT|TF as well 2016-03-10 09:48:12 +01:00
sysret_rip.c selftests/x86: Add a selftest for SYSRET to noncanonical addresses 2017-01-05 09:20:02 +01:00
sysret_ss_attrs.c x86, selftests: Add a test for the "sysret_ss_attrs" bug 2015-05-08 13:33:59 +02:00
test_FCMOV.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_FCOMI.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_FISTTP.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_mremap_vdso.c selftests/x86: Add vDSO mremap() test 2016-07-08 14:17:51 +02:00
test_syscall_vdso.c x86/asm/entry/32, selftests: Add 'test_syscall_vdso' test 2015-09-18 09:40:48 +02:00
test_vdso.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
thunks_32.S x86/asm/entry/32, selftests: Add 'test_syscall_vdso' test 2015-09-18 09:40:48 +02:00
thunks.S x86, selftests: Add a test for the "sysret_ss_attrs" bug 2015-05-08 13:33:59 +02:00
trivial_32bit_program.c selftests, x86: Rework x86 target architecture detection 2015-05-12 20:02:40 -06:00
trivial_64bit_program.c selftest, x86: fix incorrect comment 2015-05-26 15:58:41 -06:00
unwind_vdso.c selftests/x86: Style fixes for the 'unwind_vdso' test 2015-10-14 16:56:28 +02:00
vdso_restorer.c selftests/x86: Test __kernel_sigreturn and __kernel_rt_sigreturn 2016-01-13 10:34:40 +01:00