linux/arch/x86/include/asm
Lai Jiangshan 1591584e2e x86/process/64: Move cpu_current_top_of_stack out of TSS
cpu_current_top_of_stack is currently stored in TSS.sp1. TSS is exposed
through the cpu_entry_area which is visible with user CR3 when PTI is
enabled and active.

This makes it a coveted fruit for attackers.  An attacker can fetch the
kernel stack top from it and continue next steps of actions based on the
kernel stack.

But it is actualy not necessary to be stored in the TSS.  It is only
accessed after the entry code switched to kernel CR3 and kernel GS_BASE
which means it can be in any regular percpu variable.

The reason why it is in TSS is historical (pre PTI) because TSS is also
used as scratch space in SYSCALL_64 and therefore cache hot.

A syscall also needs the per CPU variable current_task and eventually
__preempt_count, so placing cpu_current_top_of_stack next to them makes it
likely that they end up in the same cache line which should avoid
performance regressions. This is not enforced as the compiler is free to
place these variables, so these entry relevant variables should move into
a data structure to make this enforceable.

The seccomp_benchmark doesn't show any performance loss in the "getpid
native" test result.  Actually, the result changes from 93ns before to 92ns
with this change when KPTI is disabled. The test is very stable and
although the test doesn't show a higher degree of precision it gives enough
confidence that moving cpu_current_top_of_stack does not cause a
regression.

[ tglx: Removed unneeded export. Massaged changelog ]

Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210125173444.22696-2-jiangshanlai@gmail.com
2021-03-28 22:40:10 +02:00
..
e820 x86/efi: EFI soft reservation to E820 enumeration 2019-11-07 15:44:14 +01:00
fpu x86/fpu/64: Don't FNINIT in kernel_fpu_begin() 2021-01-29 12:27:47 +01:00
numachip
trace x86/entry: Convert reschedule interrupt to IDTENTRY_SYSVEC_SIMPLE 2020-06-11 15:15:16 +02:00
uv x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
vdso vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() 2020-08-06 10:57:30 +02:00
xen xen: fix p2m size in dom0 for disabled memory hotplug case 2021-03-03 08:32:13 +01:00
acenv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
acpi.h x86/mce, cper: Pass x86 CPER through the MCA handling chain 2020-11-21 12:05:41 +01:00
acrn.h x86/acrn: Introduce hypercall interfaces 2021-02-09 10:58:18 +01:00
agp.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +01:00
alternative-asm.h x86/nospec, objtool: Introduce ANNOTATE_IGNORE_ALTERNATIVE 2019-04-03 09:39:46 +02:00
alternative.h x86: alternative.h: use asm_inline for all alternative variants 2019-09-15 20:14:15 +02:00
amd_nb.h x86/mce/amd: Cleanup threshold device remove path 2020-04-14 15:49:51 +02:00
apic.h x86/apic: Add extra serialization for non-serializing MSRs 2021-02-04 19:36:31 +01:00
apicdef.h x86/apic: Cleanup delivery mode defines 2020-10-28 20:26:24 +01:00
apm.h x86/apm: Don't access __preempt_count with zeroed fs 2018-07-16 17:59:57 +02:00
arch_hweight.h x86/kconfig: Disable CONFIG_GENERIC_HWEIGHT and remove __HAVE_ARCH_SW_HWEIGHT 2019-05-13 11:07:33 +02:00
archrandom.h x86/cpu: Use RDRAND and RDSEED mnemonics in archrandom.h 2020-05-18 19:50:47 +02:00
asm-offsets.h
asm-prototypes.h x86/mce: Allow for copy_mc_fragile symbol checksum to be generated 2020-10-08 10:39:21 +02:00
asm.h Orphan link sections were a long-standing source of obscure bugs, 2020-10-12 13:39:19 -07:00
atomic64_32.h locking/atomics: Flip fallbacks and instrumentation 2020-06-11 08:03:24 +02:00
atomic64_64.h asm-generic/atomic: Add try_cmpxchg() fallbacks 2020-10-12 18:27:27 +02:00
atomic.h asm-generic/atomic: Add try_cmpxchg() fallbacks 2020-10-12 18:27:27 +02:00
audit.h x86/audit: Fix a -Wmissing-prototypes warning for ia32_classify_syscall() 2020-05-19 18:03:07 +02:00
barrier.h x86/apic: Add extra serialization for non-serializing MSRs 2021-02-04 19:36:31 +01:00
bios_ebda.h
bitops.h x86, kcsan: Remove __no_kcsan_or_inline usage 2020-06-15 14:10:08 +02:00
boot.h x86: Add support for ZSTD compressed kernel 2020-07-31 11:49:09 +02:00
bootparam_utils.h x86/boot: Preserve boot_params.secure_boot from sanitizing 2019-09-02 09:17:45 +02:00
bug.h compiler.h: Move instrumentation_begin()/end() to new <linux/instrumentation.h> header 2020-07-24 13:56:23 +02:00
bugs.h x86/mpx: remove MPX from arch/x86 2020-01-23 10:41:20 -08:00
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheflush.h asm-generic: don't include <linux/mm.h> in cacheflush.h 2020-06-08 11:05:57 -07:00
cacheinfo.h x86/CPU/AMD: Save AMD NodeId as cpu_die_id 2020-11-19 11:43:13 +01:00
ce4100.h
checksum_32.h i386: propagate the calling conventions change down to csum_partial_copy_generic() 2020-08-20 15:45:18 -04:00
checksum_64.h amd64: switch csum_partial_copy_generic() to new calling conventions 2020-08-20 15:45:22 -04:00
checksum.h unify generic instances of csum_partial_copy_nocheck() 2020-08-20 15:45:14 -04:00
clocksource.h x86: Introduce asm/vdso/clocksource.h 2020-03-21 15:23:54 +01:00
cmdline.h
cmpxchg_32.h x86: cmpxchg_32.h: Delete duplicated word 2020-07-26 12:47:22 +02:00
cmpxchg_64.h locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentation 2018-07-25 11:53:58 +02:00
cmpxchg.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
compat.h [amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly 2021-01-06 08:40:56 -05:00
cpu_device_id.h x86/cpu: Add a X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS() macro 2020-05-07 13:48:05 +02:00
cpu_entry_area.h x86/sev-es: Allocate and map an IST stack for #VC handler 2020-09-09 11:33:19 +02:00
cpu.h x86/cpu: Reinitialize IA32_FEAT_CTL MSR on BSP during wakeup 2020-06-15 14:18:37 +02:00
cpufeature.h x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] 2021-01-28 17:41:24 +01:00
cpufeatures.h x86: 2021-02-21 13:31:43 -08:00
cpuidle_haltpoll.h cpuidle-haltpoll: vcpu hotplug support 2019-09-03 09:36:36 +02:00
cpumask.h x86/entry, cpumask: Provide non-instrumented variant of cpu_is_offline() 2020-06-15 14:10:09 +02:00
crash.h Merge branch 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-11-26 09:48:19 -08:00
current.h
debugreg.h x86/debug: Remove aout_dump_debugregs() 2020-09-04 15:12:55 +02:00
delay.h x86/delay: Introduce TPAUSE delay 2020-05-07 16:06:20 +02:00
desc_defs.h x86/idt: Make IDT init functions static inlines 2020-09-07 22:44:43 +02:00
desc.h x86/idt: Make IDT init functions static inlines 2020-09-07 22:44:43 +02:00
device.h x86: Remove dev->archdata.iommu pointer 2020-06-30 11:59:48 +02:00
disabled-features.h x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] 2021-01-28 17:41:24 +01:00
div64.h sched/cputime: Improve cputime_adjust() 2020-06-15 14:10:00 +02:00
dma-mapping.h dma-mapping: move dma-debug.h to kernel/dma/ 2020-10-06 07:07:05 +02:00
dma.h x86/dma: Fix max PFN arithmetic overflow on 32 bit systems 2020-05-28 20:21:32 +02:00
dmi.h x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-05 09:53:13 +02:00
doublefault.h x86/32: Remove CONFIG_DOUBLEFAULT 2020-04-14 14:24:05 +02:00
dwarf2.h x86: remove always-defined CONFIG_AS_CFI_SECTIONS 2020-04-09 00:01:59 +09:00
edac.h
efi.h - Have 64-bit kernel code which uses 387 insns request a x87 init 2021-02-20 20:07:44 -08:00
elf.h x86: Remove unusual Unicode characters from comments 2021-03-21 23:50:07 +01:00
elfcore-compat.h [amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly 2021-01-06 08:40:56 -05:00
emergency-restart.h
emulate_prefix.h x86: xen: kvm: Gather the definition of emulate prefixes 2019-10-17 21:31:57 +02:00
enclu.h x86/vdso: Implement a vDSO for Intel SGX enclave call 2020-11-18 18:02:50 +01:00
entry-common.h entry: Ensure trap after single-step on system call return 2021-02-06 00:21:42 +01:00
espfix.h
exec.h
extable.h x86/mce: Provide method to find out the type of an exception handler 2020-10-07 11:08:59 +02:00
fb.h
fixmap.h x86/platform/intel-mid: Remove unused leftovers (vRTC) 2021-02-09 15:28:37 +01:00
floppy.h floppy: use symbolic register names in the x86 port 2020-05-12 19:34:53 +03:00
frame.h x86/unwind/fp: Fix FP unwinding in ret_from_fork 2020-09-18 09:59:40 +02:00
fsgsbase.h x86/fsgsbase: Replace static_cpu_has() with boot_cpu_has() 2020-08-24 18:18:32 +02:00
ftrace.h livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
futex.h x86: get rid of user_atomic_cmpxchg_inatomic() 2020-03-27 23:58:55 -04:00
gart.h
GEN-for-each-reg.h x86: Simplify retpoline declaration 2020-04-30 20:14:34 +02:00
genapic.h
geode.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hardirq.h x86/kvm/vmx: Move guest enter/exit into .noinstr.text 2020-07-09 07:08:40 -04:00
highmem.h x86/mm/highmem: Use generic kmap atomic implementation 2020-11-06 23:14:55 +01:00
hpet.h x86/hpet: Move MSI support into hpet.c 2020-10-28 20:26:25 +01:00
hugetlb.h mm/hugetlb: define a generic fallback for arch_clear_hugepage_flags() 2020-06-03 20:09:46 -07:00
hw_breakpoint.h perf/hw_breakpoint: Remove default hw_breakpoint_arch_parse() 2018-06-26 09:07:58 +02:00
hw_irq.h iommu/amd: Fix IOMMU interrupt generation in X2APIC mode 2020-11-18 20:55:59 +01:00
hyperv-tlfs.h asm-generic/hyperv: import data structures for mapping device interrupts 2021-02-11 08:47:06 +00:00
hypervisor.h x86/paravirt: Remove const mark from x86_hyper_xen_hvm variable 2019-07-17 08:09:59 +02:00
i8259.h x86: i8259: Add missing include file 2018-08-15 13:44:10 -07:00
ia32_unistd.h
ia32.h
idtentry.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
imr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
inat_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
inat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
init.h
insn-eval.h x86/sev-es: Use __copy_from_user_inatomic() 2021-03-09 12:37:54 +01:00
insn.h x86/insn: Fix vector instruction decoding on big endian cross-compiles 2021-01-13 18:13:17 -06:00
inst.h x86/asm: Drop unused RDPID macro 2020-11-26 12:58:56 +01:00
intel_ds.h perf/x86/intel: Add Icelake support 2019-04-16 12:26:18 +02:00
intel_pconfig.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
intel_pt.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +01:00
intel_punit_ipc.h
intel_scu_ipc.h x86/platform/intel-mid: Get rid of intel_scu_ipc_legacy.h 2021-02-15 20:10:30 +01:00
intel_telemetry.h platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel-family.h x86/cpu: Add another Alder Lake CPU to the Intel family 2021-01-21 23:01:51 +01:00
intel-mid.h x86/platform/intel-mid: Update Copyright year and drop file names 2021-02-15 20:10:30 +01:00
invpcid.h x86/cpu: Use INVPCID mnemonic in invpcid.h 2020-05-12 16:05:30 +02:00
io_apic.h x86/ioapic: Handle Extended Destination ID field in RTE 2020-10-28 20:26:28 +01:00
io_bitmap.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
io.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
iomap.h io-mapping: Cleanup atomic iomap 2020-11-06 23:14:58 +01:00
iommu_table.h
iommu.h iommu/vt-d: Check VT-d RMRR region in BIOS is reported as reserved 2019-11-11 16:06:07 +01:00
iosf_mbi.h media: atomisp: move CCK endpoint address to generic header 2020-07-18 07:17:16 +02:00
irq_remapping.h x86: Kill all traces of irq_remapping_get_irq_domain() 2020-10-28 20:26:28 +01:00
irq_stack.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
irq_vectors.h x86/irq: Fix outdated comments 2019-04-22 11:42:59 +02:00
irq_work.h x86/entry: Convert various system vectors 2020-06-11 15:15:14 +02:00
irq.h Rework of the X86 irq stack handling: 2021-02-24 16:32:23 -08:00
irqdomain.h x86/apic: Add select() method on vector irqdomain 2020-10-28 20:26:27 +01:00
irqflags.h x86/pv: Rework arch_local_irq_restore() to not use popf 2021-02-10 12:36:45 +01:00
ist.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
jailhouse_para.h x86/jailhouse: Fix incorrect SPDX identifier 2018-04-23 10:17:28 +02:00
jump_label.h x86/jump_label: Batch jump label updates 2019-06-17 12:09:23 +02:00
kasan.h kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage 2018-02-06 18:32:43 -08:00
kaslr.h x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
kbdleds.h
Kbuild asm-generic: make more kernel-space headers mandatory 2020-04-02 09:35:25 -07:00
kdebug.h x86/dumpstack: Add log_lvl to __show_regs() 2020-07-22 23:56:53 +02:00
kexec-bzimage64.h kexec_file,x86,powerpc: factor out kexec_file_ops functions 2018-04-13 17:10:27 -07:00
kexec.h x86/kdump: Remove the backup region handling 2019-11-14 18:24:43 +01:00
kfence.h kfence: use pt_regs to generate stack trace on faults 2021-02-26 09:41:02 -08:00
kgdb.h
kprobes.h x86/kprobes: Do not decode opcode in resume_execution() 2021-01-05 15:42:30 +01:00
kvm_host.h Merge branch 'linus' into x86/cleanups, to resolve conflict 2021-03-21 22:16:08 +01:00
kvm_page_track.h KVM: Simplify kvm_free_memslot() and all its descendents 2020-03-16 17:57:22 +01:00
kvm_para.h KVM: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h 2020-07-08 16:21:49 -04:00
kvm_types.h KVM: Move x86's version of struct kvm_mmu_memory_cache to common code 2020-07-09 13:29:42 -04:00
kvm_vcpu_regs.h KVM: x86: Explicitly #define the VCPU_REGS_* indices 2019-02-20 22:47:38 +01:00
kvm-x86-ops.h KVM: VMX: Dynamically enable/disable PML based on memslot dirty logging 2021-02-19 03:08:34 -05:00
kvmclock.h
linkage.h x86/asm: Remove the last GLOBAL user and remove the macro 2019-10-18 11:29:50 +02:00
livepatch.h livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
local.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h x86: Convert x86_platform_ops to timespec64 2018-05-19 14:03:14 +02:00
mce.h thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00
mem_encrypt.h x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests 2020-12-11 15:43:41 -05:00
memtype.h x86/mm: Move pgprot2cachemode out of line 2020-04-20 12:39:17 +02:00
microcode_amd.h x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE 2020-04-14 17:34:46 +02:00
microcode_intel.h
microcode.h x86/microcode: Make microcode_init() static 2020-12-31 11:44:00 +01:00
misc.h
mmconfig.h
mmu_context.h asm-generic: mmu-context cleanup 2020-12-15 23:58:04 -08:00
mmu.h x86/mm: Convert mmu context ia32_compat into a proper flags field 2020-10-26 13:46:47 +01:00
mmx.h
mmzone_32.h x86/mm: Drop deprecated DISCONTIGMEM support for 32-bit 2020-05-28 18:34:30 +02:00
mmzone_64.h
mmzone.h
module.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
mpspec_def.h
mpspec.h x86/init: Remove unused init ops 2020-09-16 16:52:28 +02:00
mshyperv.h iommu/hyperv: setup an IO-APIC IRQ remapping domain for root partition 2021-02-11 08:47:07 +00:00
msi.h x86/apic: Support 15 bits of APIC ID in MSI where available 2020-10-28 20:26:29 +01:00
msr-index.h x86: Remove duplicate TSC DEADLINE MSR definitions 2021-03-08 11:05:20 +01:00
msr-trace.h
msr.h x86: __always_inline __{rd,wr}msr() 2021-01-12 21:10:59 +01:00
mtrr.h x86/mm/pat: Rename <asm/pat.h> => <asm/memtype.h> 2019-12-10 10:12:55 +01:00
mwait.h sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
nmi.h arch: x86: Remove CONFIG_OPROFILE support 2021-01-29 10:05:51 +05:30
nops.h
nospec-branch.h x86: Remove unusual Unicode characters from comments 2021-03-21 23:50:07 +01:00
numa_32.h
numa.h ACPI updates for 5.10-rc1 2020-10-14 11:42:04 -07:00
olpc_ofw.h
olpc.h Platform: OLPC: Move EC-specific functionality out from x86 2019-05-20 17:27:08 +03:00
orc_lookup.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
orc_types.h objtool: Fix x86 orc generation on big endian cross-compiles 2021-01-13 18:13:13 -06:00
page_32_types.h x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
page_32.h
page_64_types.h x86/asm: Fixup TASK_SIZE_MAX comment 2021-02-05 10:37:39 +01:00
page_64.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-04-02 15:45:30 -07:00
page_types.h x86/mm: thread pgprot_t through init_memory_mapping() 2020-04-10 15:36:21 -07:00
page.h
paravirt_types.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
paravirt.h x86/pv: Rework arch_local_irq_restore() to not use popf 2021-02-10 12:36:45 +01:00
parport.h
pci_x86.h x86/pci: Reducde #ifdeffery in PCI init code 2020-09-16 16:52:35 +02:00
pci-direct.h PCI: Make early dump functionality generic 2018-06-29 20:06:07 -05:00
pci-functions.h
pci.h x86/irq: Cleanup the arch_*_msi_irqs() leftovers 2020-09-16 16:52:38 +02:00
percpu.h x86/percpu: Remove unused PER_CPU() macro 2020-07-23 11:46:43 +02:00
perf_event_p4.h
perf_event.h perf/x86/intel: Add perf core PMU support for Sapphire Rapids 2021-02-01 15:31:37 +01:00
pgalloc.h asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
pgtable_32_areas.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
pgtable_32_types.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
pgtable_32.h x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
pgtable_64_types.h x86: Support kmap_local() forced debugging 2020-11-24 14:42:09 +01:00
pgtable_64.h The biggest change is to not sync the vmalloc and ioremap ranges for x86-64 anymore. 2020-08-03 17:25:42 -07:00
pgtable_areas.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
pgtable_types.h x86/mm: Remove duplicate definition of _PAGE_PAT_LARGE 2021-01-08 22:04:51 +01:00
pgtable-2level_types.h x86/mm/32: implement arch_sync_kernel_mappings() 2020-06-02 10:59:11 -07: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-3level_types.h x86/paravirt: Remove 32-bit support from CONFIG_PARAVIRT_XXL 2020-08-15 13:52:11 +02:00
pgtable-3level.h mmap locking API: convert mmap_sem comments 2020-06-09 09:39:14 -07:00
pgtable-invert.h x86/speculation/l1tf: Exempt zeroed PTEs from inversion 2018-08-17 10:27:36 -07:00
pgtable.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
pkeys.h x86/pkeys: Add check for pkey "overflow" 2020-02-24 20:25:21 +01:00
platform_sst_audio.h sfi: Remove framework for deprecated firmware 2021-02-15 20:09:46 +01:00
pm-trace.h
posix_types.h
preempt.h sched,x86: Allow !PREEMPT_DYNAMIC 2021-02-17 14:12:43 +01:00
probe_roms.h
processor-cyrix.h x86/cpu/cyrix: Remove {get,set}Cx86_old macros used for Cyrix processors 2019-03-21 12:28:50 +01:00
processor-flags.h x86/mm/pti: Define X86_CR3_PTI_PCID_USER_BIT on x86_32 2018-07-20 01:11:44 +02:00
processor.h x86/process/64: Move cpu_current_top_of_stack out of TSS 2021-03-28 22:40:10 +02:00
prom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
proto.h x86/sev-es: Introduce ip_within_syscall_gap() helper 2021-03-08 14:22:17 +01:00
pti.h x86: Use the correct SPDX License Identifier in headers 2019-10-01 20:31:35 +02:00
ptrace.h x86/sev-es: Introduce ip_within_syscall_gap() helper 2021-03-08 14:22:17 +01:00
purgatory.h x86/kdump: Remove the backup region handling 2019-11-14 18:24:43 +01:00
pvclock-abi.h
pvclock.h x86/vdso: Switch to generic vDSO implementation 2019-06-22 21:21:10 +02:00
qrwlock.h
qspinlock_paravirt.h locking/pvqspinlock/x86: Use LOCK_PREFIX in __pv_queued_spin_unlock() assembly code 2018-07-25 11:22:20 +02:00
qspinlock.h x86/kvm: Add "nopvspin" parameter to disable PV spinlocks 2020-07-08 16:21:57 -04:00
realmode.h x86/head/64: Don't call verify_cpu() on starting APs 2020-09-09 11:33:20 +02:00
reboot_fixups.h
reboot.h x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
required-features.h x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] 2021-01-28 17:41:24 +01:00
resctrl.h x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid} 2021-01-11 11:43:23 +01:00
rmwcc.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
seccomp.h x86: Enable seccomp architecture tracking 2020-11-20 11:16:34 -08:00
sections.h x86/setup: Fix static memory detection 2020-03-19 11:58:13 +01:00
segment.h This feature enhances the current guest memory encryption support 2020-10-14 10:21:34 -07:00
serial.h
set_memory.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +01:00
setup_arch.h
setup.h x86/setup: Remove unused RESERVE_BRK_ARRAY() 2021-03-11 11:47:37 +01:00
sev-es.h x86/efi: Add GHCB mappings when SEV-ES is active 2020-09-10 21:48:50 +02:00
shmparam.h
sigcontext.h
sigframe.h x86: switch sigframe sigset handling to explict __get_user()/__put_user() 2020-03-18 15:29:54 -04:00
sighandling.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-31 11:04:05 -07:00
signal.h x86/entry: Use generic syscall exit functionality 2020-07-24 15:04:59 +02:00
simd.h
smap.h objtool,x86: Fix uaccess PUSHF/POPF validation 2021-03-12 09:15:49 +01:00
smp.h x86/headers: Remove APIC headers from <asm/smp.h> 2020-08-06 16:13:09 +02:00
softirq_stack.h x86/softirq/64: Inline do_softirq_own_stack() 2021-02-10 23:34:17 +01:00
sparsemem.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
spec-ctrl.h x86/speculation: Prevent stale SPEC_CTRL msr content 2018-11-28 11:57:12 +01:00
special_insns.h x86/asm: Add a missing __iomem annotation in enqcmds() 2021-01-08 11:57:37 +01:00
spinlock_types.h x86/spinlock: Remove obsolete ticket spinlock macros and types 2020-05-28 21:18:40 +02:00
spinlock.h
sta2x11.h
stackprotector.h x86/stackprotector: Pre-initialize canary for secondary CPUs 2020-06-18 13:09:17 +02:00
stacktrace.h x86/dumpstack: Make show_trace_log_lvl() static 2020-11-17 19:05:32 +01:00
static_call.h static_call: Allow module use without exposing static_call_key 2021-02-17 14:12:42 +01:00
string_32.h x86/asm: Remove unused __constant_c_x_memset() macro and inlines 2019-01-12 17:54:49 +01:00
string_64.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
string.h
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 x86/paravirt: Drop {read,write}_cr8() hooks 2019-07-22 10:12:33 +02:00
suspend.h x86, hibernate: Rename temp_level4_pgt to temp_pgt 2018-10-03 11:56:34 +02:00
svm.h KVM: SVM: Provide support for SEV-ES vCPU loading 2020-12-15 05:20:59 -05:00
swiotlb.h x86/dma: Use generic swiotlb_ops 2018-03-20 10:01:57 +01:00
switch_to.h x86/process/64: Move cpu_current_top_of_stack out of TSS 2021-03-28 22:40:10 +02:00
sync_bitops.h x86/asm: Modernize sync_bitops.h 2019-04-10 09:53:31 +02:00
sync_core.h x86/membarrier: Get rid of a dubious optimization 2020-12-09 09:37:42 +01:00
syscall_wrapper.h x86/syscalls: Fix -Wmissing-prototypes warnings from COND_SYSCALL() 2021-03-25 16:20:41 +01:00
syscall.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-31 11:04:05 -07:00
syscalls.h x86: Remove unneeded includes 2020-03-21 16:03:25 +01:00
sysfb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
text-patching.h x86/alternatives: Teach text_poke_bp() to emulate RET 2020-09-01 09:58:05 +02:00
thermal.h thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00
thread_info.h x86/process/64: Move cpu_current_top_of_stack out of TSS 2021-03-28 22:40:10 +02:00
time.h x86/timer: Skip PIT initialization on modern chipsets 2019-06-29 11:35:35 +02:00
timer.h
timex.h
tlb.h tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs 2021-01-29 20:02:29 +01:00
tlbbatch.h
tlbflush.h x86/tlb: Restrict access to tlbstate 2020-04-26 18:52:33 +02:00
topology.h x86/topology: Make __max_die_per_package available unconditionally 2021-01-14 12:18:36 +01:00
trace_clock.h
trap_pf.h x86/mm: Signal SIGSEGV with PF_SGX 2020-11-17 14:36:13 +01:00
trapnr.h x86/boot/compressed/64: Add stage1 #VC handler 2020-09-07 19:45:25 +02:00
traps.h This feature enhances the current guest memory encryption support 2020-10-14 10:21:34 -07:00
tsc.h A set of locking fixes and updates: 2020-08-10 19:07:44 -07:00
uaccess_32.h x86: get rid of small constant size cases in raw_copy_{to,from}_user() 2020-03-18 15:53:25 -04:00
uaccess_64.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
uaccess.h x86/uaccess: fix code generation in put_user() 2020-10-23 13:44:24 -07:00
umip.h x86/Kconfig: Rename UMIP config parameter 2019-11-07 11:07:29 +01:00
unaligned.h
unistd.h x86/entry: Move max syscall number calculation to syscallhdr.sh 2020-03-21 16:03:21 +01:00
unwind_hints.h objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC 2021-01-26 11:12:00 -06:00
unwind.h x86/unwind/orc: Fix premature unwind stoppage due to IRET frames 2020-04-25 12:22:29 +02:00
uprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
user32.h
user_32.h
user_64.h
user.h
vdso.h A set of updates for entry/exit handling: 2020-12-14 17:13:53 -08:00
vermagic.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
vga.h
vgtod.h um: Fix header inclusion 2020-03-23 18:45:14 +01:00
virtext.h KVM: VMX: Use the kernel's version of VMXOFF 2021-02-04 05:27:33 -05:00
vm86.h x86/vm86/32: Remove VM86_SCREEN_BITMAP support 2021-01-21 20:08:53 +01:00
vmalloc.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
vmware.h x86/cpu/vmware: Fix platform detection VMWARE_PORT macro 2019-10-22 00:51:44 +02:00
vmx.h KVM: VMX: Enable bus lock VM exit 2021-02-04 05:27:21 -05:00
vmxfeatures.h KVM: VMX: Enable bus lock VM exit 2021-02-04 05:27:21 -05:00
vsyscall.h x86/vsyscall: Show something useful on a read fault 2019-06-28 00:04:39 +02:00
vvar.h x86/vdso: Add time napespace page 2020-01-14 12:20:58 +01:00
word-at-a-time.h
x86_init.h x86/apic: Support 15 bits of APIC ID in MSI where available 2020-10-28 20:26:29 +01:00
xor_32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47 2019-05-24 17:27:13 +02:00
xor_64.h
xor_avx.h x86: remove always-defined CONFIG_AS_AVX 2020-04-09 00:01:59 +09:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47 2019-05-24 17:27:13 +02:00