linux/arch/x86/include/asm
Linus Torvalds 4b78317679 Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull STIBP fallout fixes from Thomas Gleixner:
 "The performance destruction department finally got it's act together
  and came up with a cure for the STIPB regression:

   - Provide a command line option to control the spectre v2 user space
     mitigations. Default is either seccomp or prctl (if seccomp is
     disabled in Kconfig). prctl allows mitigation opt-in, seccomp
     enables the migitation for sandboxed processes.

   - Rework the code to handle the conditional STIBP/IBPB control and
     remove the now unused ptrace_may_access_sched() optimization
     attempt

   - Disable STIBP automatically when SMT is disabled

   - Optimize the switch_to() logic to avoid MSR writes and invocations
     of __switch_to_xtra().

   - Make the asynchronous speculation TIF updates synchronous to
     prevent stale mitigation state.

  As a general cleanup this also makes retpoline directly depend on
  compiler support and removes the 'minimal retpoline' option which just
  pretended to provide some form of security while providing none"

* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
  x86/speculation: Provide IBPB always command line options
  x86/speculation: Add seccomp Spectre v2 user space protection mode
  x86/speculation: Enable prctl mode for spectre_v2_user
  x86/speculation: Add prctl() control for indirect branch speculation
  x86/speculation: Prepare arch_smt_update() for PRCTL mode
  x86/speculation: Prevent stale SPEC_CTRL msr content
  x86/speculation: Split out TIF update
  ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS
  x86/speculation: Prepare for conditional IBPB in switch_mm()
  x86/speculation: Avoid __switch_to_xtra() calls
  x86/process: Consolidate and simplify switch_to_xtra() code
  x86/speculation: Prepare for per task indirect branch speculation control
  x86/speculation: Add command line control for indirect branch speculation
  x86/speculation: Unify conditional spectre v2 print functions
  x86/speculataion: Mark command line parser data __initdata
  x86/speculation: Mark string arrays const correctly
  x86/speculation: Reorder the spec_v2 code
  x86/l1tf: Show actual SMT state
  x86/speculation: Rework SMT state change
  sched/smt: Expose sched_smt_present static key
  ...
2018-12-01 12:35:48 -08:00
..
crypto
e820
fpu x86/fpu: Use the correct exception table macro in the XSTATE_OP wrapper 2018-11-27 17:55:45 +01:00
numachip
trace signal/x86: In trace_mpx_bounds_register_exception add __user annotations 2018-09-19 15:52:21 +02:00
uv x86/platform/uv: Provide is_early_uv_system() 2018-10-02 21:29:16 +02:00
xen x86/xen: fix pv boot 2018-11-09 08:16:55 +01:00
a.out-core.h
acenv.h
acpi.h x86/acpi, x86/boot: Take RSDP address for boot params if available 2018-10-10 10:44:22 +02:00
agp.h
alternative-asm.h x86/alternatives: Macrofy lock prefixes to work around GCC inlining bugs 2018-10-04 11:24:59 +02:00
alternative.h x86/alternatives: Macrofy lock prefixes to work around GCC inlining bugs 2018-10-04 11:24:59 +02:00
amd_nb.h x86/amd_nb: Check vendor in AMD-only functions 2018-09-27 18:28:58 +02:00
apb_timer.h
apic.h
apic_flat_64.h
apicdef.h
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm-prototypes.h
asm.h x86/extable: Macrofy inline assembly code to work around GCC inlining bugs 2018-10-06 15:52:15 +02:00
atomic.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
atomic64_32.h x86: Fix kernel-doc atomic.h warnings 2018-09-03 12:41:41 +02:00
atomic64_64.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
barrier.h
bios_ebda.h
bitops.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
boot.h
bootparam_utils.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bug.h x86/bug: Macrofy the BUG table section handling, to work around GCC inlining bugs 2018-10-04 11:25:00 +02:00
bugs.h
cache.h
cacheflush.h
cacheinfo.h x86/cpu: Get cache info and setup cache cpumap for Hygon Dhyana 2018-09-27 18:28:57 +02:00
calgary.h
ce4100.h
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmdline.h
cmpxchg.h x86/asm: Use CC_SET()/CC_OUT() in __cmpxchg_double() 2018-10-01 13:46:32 +02:00
cmpxchg_32.h
cmpxchg_64.h
compat.h x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT 2018-11-01 12:59:25 +01:00
cpu.h
cpu_device_id.h
cpu_entry_area.h x86/pti/64: Remove the SYSCALL64 entry trampoline 2018-09-12 21:33:53 +02:00
cpufeature.h x86/cpufeature: Macrofy inline assembly code to work around GCC inlining bugs 2018-10-06 15:52:16 +02:00
cpufeatures.h x86/cpufeatures: Enumerate MOVDIR64B instruction 2018-10-25 07:42:48 +02:00
cpumask.h
crash.h
current.h
debugreg.h x86/paravirt: Move the Xen-only pv_cpu_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:36 +02:00
delay.h
desc.h x86/paravirt: Move the Xen-only pv_cpu_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:36 +02:00
desc_defs.h
device.h
disabled-features.h
div64.h
dma-direct.h
dma-mapping.h
dma.h
dmi.h
dwarf2.h
edac.h
efi.h efi/x86: Handle page faults occurring while running EFI runtime services 2018-09-26 12:14:55 +02:00
elf.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 15:24:22 +01:00
emergency-restart.h
entry_arch.h
error-injection.h
espfix.h
exec.h
extable.h x86/fault: Plumb error code and fault address through to fault handlers 2018-09-03 15:12:09 +02:00
fb.h
fixmap.h Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 17:54:58 +01:00
floppy.h
frame.h
fsgsbase.h x86/fsgsbase/64: Clean up various details 2018-10-08 10:45:04 +02:00
ftrace.h x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT 2018-11-01 12:59:25 +01:00
futex.h x86/extable: Introduce _ASM_EXTABLE_UA for uaccess fixups 2018-09-03 15:12:09 +02:00
gart.h
genapic.h
geode.h
hardirq.h
highmem.h
hpet.h
hugetlb.h hugetlb: introduce generic version of huge_ptep_get 2018-10-26 16:26:34 -07:00
hw_breakpoint.h
hw_irq.h
hyperv-tlfs.h Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 17:54:58 +01:00
hypervisor.h
i8259.h x86: i8259: Add missing include file 2018-08-15 13:44:10 -07:00
ia32.h
ia32_unistd.h
imr.h
inat.h
inat_types.h
init.h
insn-eval.h
insn.h
inst.h
intel-family.h x86/cpu: Sanitize FAM6_ATOM naming 2018-10-02 10:14:32 +02:00
intel-mid.h
intel_ds.h
intel_mid_vrtc.h
intel_pconfig.h
intel_pmc_ipc.h
intel_pt.h
intel_punit_ipc.h
intel_rdt_sched.h
intel_scu_ipc.h
intel_telemetry.h
invpcid.h
io.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 17:05:28 +01:00
io_apic.h
iomap.h
iommu.h
iommu_table.h
iosf_mbi.h x86: baytrail/cherrytrail: Rework and move P-Unit PMIC bus semaphore code 2018-10-25 16:59:08 +02:00
ipi.h
irq.h
irq_regs.h
irq_remapping.h iommu/vt-d: Relocate struct/function declarations to its header files 2018-09-25 14:33:43 +02:00
irq_vectors.h
irq_work.h
irqdomain.h
irqflags.h x86/paravirt: Move the pv_irq_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:36 +02:00
ist.h
jailhouse_para.h
jump_label.h x86/jump-labels: Macrofy inline assembly code to work around GCC inlining bugs 2018-10-06 15:52:17 +02:00
kasan.h
kaslr.h
kbdleds.h
Kbuild module: use relative references for __ksymtab entries 2018-08-22 10:52:47 -07:00
kdebug.h x86/process: Don't mix user/kernel regs in 64bit __show_regs() 2018-09-06 14:33:12 +02:00
kexec-bzimage64.h
kexec.h treewide: remove current_text_addr 2018-10-31 08:54:12 -07:00
kgdb.h
kmap_types.h
kprobes.h
kvm_emulate.h x86/kvm: Add Hygon Dhyana support to KVM 2018-09-27 18:28:59 +02:00
kvm_host.h KVM: nVMX/nSVM: Fix bug which sets vcpu->arch.tsc_offset to L1 tsc_offset 2018-11-27 12:50:10 +01:00
kvm_page_track.h
kvm_para.h
kvmclock.h
linkage.h
livepatch.h
local.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
local64.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h acpi/nfit, x86/mce: Validate a MCE's address before using it 2018-11-06 19:13:26 +01:00
mcsafe_test.h
mem_encrypt.h x86/mm: Add .bss..decrypted section to hold shared variables 2018-09-15 20:48:45 +02:00
microcode.h
microcode_amd.h
microcode_intel.h
misc.h
mmconfig.h
mmu.h
mmu_context.h x86/paravirt: Move the Xen-only pv_mmu_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:37 +02:00
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.h
mpx.h signal/x86: Move mpx siginfo generation into do_bounds 2018-09-19 15:53:11 +02:00
mshyperv.h x86/hyper-v: Fix indentation in hv_do_fast_hypercall16() 2018-11-05 16:45:24 +01:00
msi.h
msidef.h
msr-index.h x86/speculation: Prepare for per task indirect branch speculation control 2018-11-28 11:57:10 +01:00
msr-trace.h
msr.h x86/paravirt: Move the Xen-only pv_cpu_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:36 +02:00
mtrr.h
mwait.h
nmi.h
nops.h
nospec-branch.h x86/speculation: Add seccomp Spectre v2 user space protection mode 2018-11-28 11:57:14 +01:00
numa.h
numa_32.h
olpc.h
olpc_ofw.h
orc_lookup.h
orc_types.h
page.h
page_32.h
page_32_types.h
page_64.h
page_64_types.h x86/mm: Move LDT remap out of KASLR region on 5-level paging 2018-11-06 21:35:11 +01:00
page_types.h
paravirt.h x86/paravirt: Prevent redefinition of SAVE_FLAGS macro 2018-09-06 14:37:37 +02:00
paravirt_types.h x86/paravirt: Remove unused _paravirt_ident_32 2018-10-30 09:55:31 +01:00
parport.h
pat.h
pci-direct.h
pci-functions.h
pci.h
pci_64.h
pci_x86.h
percpu.h x86/percpu: Fix this_cpu_read() 2018-10-14 11:11:22 +02:00
perf_event.h Merge branch 'x86/urgent' into x86/cache, to pick up dependent fix 2018-10-09 08:50:10 +02:00
perf_event_p4.h
pgalloc.h x86/paravirt: Move the Xen-only pv_mmu_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:37 +02:00
pgtable-2level.h Revert "x86/mm/legacy: Populate the user page-table with user pgd's" 2018-09-14 17:08:45 +02:00
pgtable-2level_types.h
pgtable-3level.h x86/pae: use 64 bit atomic xchg function in native_ptep_get_and_clear 2018-08-27 14:20:49 -04:00
pgtable-3level_types.h x86/paravirt: Move items in pv_info under PARAVIRT_XXL umbrella 2018-09-03 16:50:36 +02:00
pgtable-invert.h x86/speculation/l1tf: Exempt zeroed PTEs from inversion 2018-08-17 10:27:36 -07:00
pgtable.h Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 17:54:58 +01:00
pgtable_32.h
pgtable_32_types.h
pgtable_64.h x86/mm: Expand static page table for fixmap space 2018-09-20 23:17:22 +02:00
pgtable_64_types.h x86/mm: Move LDT remap out of KASLR region on 5-level paging 2018-11-06 21:35:11 +01:00
pgtable_types.h mm: Preserve _PAGE_DEVMAP across mprotect() calls 2018-10-09 11:44:58 -07:00
pkeys.h
platform_sst_audio.h
pm-trace.h
posix_types.h
preempt.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h treewide: remove current_text_addr 2018-10-31 08:54:12 -07:00
prom.h
proto.h
pti.h
ptrace.h The biggest change here is the updates to kprobes 2018-10-30 09:49:56 -07:00
purgatory.h
pvclock-abi.h
pvclock.h
qrwlock.h
qspinlock.h x86/qspinlock: Fix compile error 2018-11-04 00:54:34 +01:00
qspinlock_paravirt.h
realmode.h
reboot.h
reboot_fixups.h
refcount.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
required-features.h
rio.h
rmwcc.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
rwsem.h
seccomp.h
sections.h x86/pti/64: Remove the SYSCALL64 entry trampoline 2018-09-12 21:33:53 +02:00
segment.h Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 17:54:58 +01:00
serial.h
set_memory.h libnvdimm-for-4.19_dax-memory-failure 2018-08-25 18:43:59 -07:00
setup.h
setup_arch.h
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h x86/asm: Use CC_SET()/CC_OUT() in __gen_sigismember() 2018-08-30 13:02:31 +02:00
simd.h
smap.h
smp.h
sparsemem.h
spec-ctrl.h x86/speculation: Prevent stale SPEC_CTRL msr content 2018-11-28 11:57:12 +01:00
special_insns.h x86/paravirt: Move the Xen-only pv_mmu_ops under the PARAVIRT_XXL umbrella 2018-09-03 16:50:37 +02:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h
stacktrace.h x86/dumpstack: Don't dump kernel memory based on usermode RIP 2018-08-31 17:08:22 +02:00
string.h
string_32.h
string_64.h x86/asm: Optimize memcpy_flushcache() 2018-09-10 15:17:12 +02:00
suspend.h x86, hibernate: Rename temp_level4_pgt to temp_pgt 2018-10-03 11:56:34 +02:00
suspend_32.h x86-32/asm/power: Create stack frames in hibernate_asm_32.S 2018-10-03 11:56:33 +02:00
suspend_64.h
svm.h
swiotlb.h
switch_to.h x86/process: Consolidate and simplify switch_to_xtra() code 2018-11-28 11:57:11 +01:00
sync_bitops.h
sync_core.h
syscall.h
syscall_wrapper.h
syscalls.h
sysfb.h
tce.h
text-patching.h
thread_info.h x86/speculation: Prevent stale SPEC_CTRL msr content 2018-11-28 11:57:12 +01:00
time.h
timer.h
timex.h
tlb.h x86/mm/tlb: Add freed_tables argument to flush_tlb_mm_range 2018-10-09 16:51:12 +02:00
tlbbatch.h
tlbflush.h x86/speculation: Prepare for conditional IBPB in switch_mm() 2018-11-28 11:57:11 +01:00
topology.h
trace_clock.h
traps.h
tsc.h
uaccess.h x86/extable: Introduce _ASM_EXTABLE_UA for uaccess fixups 2018-09-03 15:12:09 +02:00
uaccess_32.h
uaccess_64.h
umip.h
unaligned.h
unistd.h y2038: utimes: Rework #ifdef guards for compat syscalls 2018-08-29 15:42:23 +02:00
unwind.h
unwind_hints.h
uprobes.h
user.h
user32.h
user_32.h
user_64.h
vdso.h
vga.h
vgtod.h Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 19:07:25 +01:00
virtext.h KVM updates for v4.20 2018-10-25 17:57:35 -07:00
vm86.h
vmx.h KVM/x86: Use assembly instruction mnemonics instead of .byte streams 2018-10-17 00:30:08 +02:00
vsyscall.h
vvar.h
word-at-a-time.h
x86_init.h x86/boot: Mostly revert commit ae7e1238e6 ("Add ACPI RSDP address to setup_header") 2018-11-20 09:43:10 +01:00
xor.h
xor_32.h
xor_64.h
xor_avx.h