1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/arch/x86/include/asm
Borislav Petkov 24c2503255 x86/microcode: Do not access the initrd after it has been freed
When we look for microcode blobs, we first try builtin and if that
doesn't succeed, we fallback to the initrd supplied to the kernel.

However, at some point doing boot, that initrd gets jettisoned and we
shouldn't access it anymore. But we do, as the below KASAN report shows.
That's because find_microcode_in_initrd() doesn't check whether the
initrd is still valid or not.

So do that.

  ==================================================================
  BUG: KASAN: use-after-free in find_cpio_data
  Read of size 1 by task swapper/1/0
  page:ffffea0000db9d40 count:0 mapcount:0 mapping:          (null) index:0x1
  flags: 0x100000000000000()
  raw: 0100000000000000 0000000000000000 0000000000000001 00000000ffffffff
  raw: dead000000000100 dead000000000200 0000000000000000 0000000000000000
  page dumped because: kasan: bad access detected
  CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W       4.10.0-rc5-debug-00075-g2dbde22 #3
  Hardware name: Dell Inc. XPS 13 9360/0839Y6, BIOS 1.2.3 12/01/2016
  Call Trace:
   dump_stack
   ? _atomic_dec_and_lock
   ? __dump_page
   kasan_report_error
   ? pointer
   ? find_cpio_data
   __asan_report_load1_noabort
   ? find_cpio_data
   find_cpio_data
   ? vsprintf
   ? dump_stack
   ? get_ucode_user
   ? print_usage_bug
   find_microcode_in_initrd
   __load_ucode_intel
   ? collect_cpu_info_early
   ? debug_check_no_locks_freed
   load_ucode_intel_ap
   ? collect_cpu_info
   ? trace_hardirqs_on
   ? flat_send_IPI_mask_allbutself
   load_ucode_ap
   ? get_builtin_firmware
   ? flush_tlb_func
   ? do_raw_spin_trylock
   ? cpumask_weight
   cpu_init
   ? trace_hardirqs_off
   ? play_dead_common
   ? native_play_dead
   ? hlt_play_dead
   ? syscall_init
   ? arch_cpu_idle_dead
   ? do_idle
   start_secondary
   start_cpu
  Memory state around the buggy address:
   ffff880036e74f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
   ffff880036e74f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
  >ffff880036e75000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                     ^
   ffff880036e75080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
   ffff880036e75100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
  ==================================================================

Reported-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Tested-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170126165833.evjemhbqzaepirxo@pd.tnic
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-01-30 09:32:42 +01:00
..
crypto crypto: glue_helper - Add skcipher xts helpers 2016-11-28 21:23:20 +08:00
fpu x86/fpu: Remove irq_ts_save() and irq_ts_restore() 2016-11-01 07:47:54 +01:00
numachip x86/numachip: Introduce Numachip2 timer mechanisms 2015-09-22 22:25:33 +02:00
trace This release has a few updates: 2016-12-15 13:49:34 -08:00
uv x86/platform/uv/BAU: Add UV4-specific functions 2016-09-22 11:16:15 +02:00
xen Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
a.out-core.h hw-breakpoints: Fix broken a.out format dump 2009-11-10 11:23:05 +01:00
acenv.h ACPICA: Linux: Add support to exclude <asm/acenv.h> inclusion. 2014-07-23 01:10:44 +02:00
acpi.h x86/amd: Simplify AMD E400 aware idle routine 2016-12-09 21:23:21 +01:00
agp.h agp: kill phys_to_gart() and gart_to_phys() 2009-08-03 09:05:00 +01:00
alternative-asm.h x86/alternatives: Document macros 2015-05-06 11:25:31 +02:00
alternative.h x86/alternatives: Add stack frame dependency to alternative_call_2() 2016-09-24 09:30:03 +02:00
amd_nb.h x86/amd_nb: Add SMN and Indirect Data Fabric access for AMD Fam17h 2016-11-16 20:46:38 +01:00
apb_timer.h Merge branch 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:34:47 -07:00
apic.h Merge branch 'x86-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 14:55:04 -08:00
apic_flat_64.h x86: Make flat_init_apic_ldr() available 2011-12-05 17:17:07 +01:00
apicdef.h x86/apic: Fix typo EIO_ACK -> EOI_ACK and document it 2012-05-18 09:46:07 +02:00
apm.h x86, asm: use bool for bitops and other assembly outputs 2016-06-08 12:41:20 -07:00
arch_hweight.h x86/hweight: Get rid of the special calling convention 2016-06-08 15:01:02 +02:00
archrandom.h x86, asm: Use CC_SET()/CC_OUT() and static_cpu_has() in archrandom.h 2016-06-08 12:41:20 -07:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm-prototypes.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
asm.h x86, asm: define CC_SET() and CC_OUT() macros 2016-06-08 12:41:20 -07:00
atomic.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 15:34:18 -07:00
atomic64_32.h locking/atomic, arch/x86: Implement atomic{,64}_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:31 +02:00
atomic64_64.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 15:34:18 -07:00
barrier.h locking/x86: Tweak the comment about use of wmb() for IO 2016-01-29 09:40:10 +01:00
bios_ebda.h x86/boot: Reorganize and clean up the BIOS area reservation code 2016-07-21 10:11:57 +02:00
bitops.h mm: optimize PageWaiters bit use for unlock_page() 2016-12-29 11:03:15 -08:00
boot.h x86/KASLR: Build identity mappings on demand 2016-05-07 07:38:39 +02:00
bootparam_utils.h x86: Don't clear olpc_ofw_header when sentinel is detected 2013-08-09 15:29:48 -07:00
bug.h x86: always define BUG() and HAVE_ARCH_BUG, even with !CONFIG_BUG 2014-04-07 16:36:10 -07:00
bugs.h x86/mm/mpx: Work around MPX erratum SKD046 2016-05-20 09:07:40 +02:00
cache.h Rename .data.read_mostly to .data..read_mostly. 2010-03-03 11:26:00 +01:00
cacheflush.h remove stray include of asm/uaccess.h from cacheflush.h 2016-09-27 21:15:22 -04:00
calgary.h x86/platform/calgary: Constify cal_chipset_ops structures 2015-11-29 08:50:58 +01:00
ce4100.h x86: ce4100: Set pci ops via callback instead of module init 2011-03-14 15:13:23 +01:00
checksum.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
checksum_32.h x86/uaccess: Move thread_info::addr_limit to thread_struct 2016-07-15 10:26:30 +02:00
checksum_64.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
clocksource.h x86/vdso: Remove direct HPET access through the vDSO 2016-04-13 10:28:34 +02:00
cmdline.h x86, boot: Carve out early cmdline parsing function 2014-05-20 20:21:24 -07:00
cmpxchg.h x86/cmpxchg, locking/atomics: Remove superfluous definitions 2016-09-30 10:56:01 +02:00
cmpxchg_32.h x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
cmpxchg_64.h x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
compat.h x86/coredump: Always use user_regs_struct for compat_elf_gregset_t 2016-11-24 06:01:05 +01:00
cpu.h xen: features and fixes for 4.8-rc0 2016-07-27 11:35:37 -07:00
cpu_device_id.h Add driver auto probing for x86 features v4 2012-01-26 16:44:41 -08:00
cpufeature.h x86/cpufeature: Provide helper to set bugs bits 2016-12-09 21:23:20 +01:00
cpufeatures.h Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-22 09:25:45 -08:00
cpumask.h x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask 2009-03-13 14:49:54 +10:30
crash.h kexec: support for kexec on panic using new system call 2014-08-08 15:57:33 -07:00
current.h x86: replace percpu_xxx funcs with this_cpu_xxx 2012-05-14 14:15:31 -07:00
debugreg.h perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8 2014-12-03 15:14:26 +01:00
delay.h x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer 2015-08-22 14:52:16 +02:00
desc.h x86: Apply more __ro_after_init and const 2016-08-10 14:55:05 +02:00
desc_defs.h x86/signal/64: Fix SS if needed when delivering a 64-bit signal 2016-02-17 08:32:11 +01:00
device.h x86/PCI: Allow DMA ops specific to a PCI domain 2016-01-15 13:54:55 -06:00
disabled-features.h x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated 2016-06-30 09:11:32 +02:00
div64.h x86/div64: Add a micro-optimization shortcut if base is power of two 2011-12-05 18:16:11 +01:00
dma-mapping.h dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dma.h x86/mm: Fix zone ranges boot printout 2014-12-11 11:35:02 +01:00
dmi.h x86/dmi: Switch dmi_remap() from ioremap() [uncached] to ioremap_cache() 2016-02-09 14:36:43 +01:00
dwarf2.h x86/asm: Remove the xyz_cfi macros from dwarf2.h 2015-10-14 16:56:28 +02:00
e820.h x86: Make E820_X_MAX unconditionally larger than E820MAX 2016-12-09 10:59:04 +01:00
edac.h EDAC: Cleanup atomic_scrub mess 2015-05-28 15:31:53 +02:00
efi.h efi: Allow bitness-agnostic protocol calls 2016-11-13 08:23:16 +01:00
elf.h tree-wide: replace config_enabled() with IS_ENABLED() 2016-08-04 08:50:07 -04:00
emergency-restart.h reboot: move arch/x86 reboot= handling to generic kernel 2013-07-09 10:33:29 -07:00
entry_arch.h Merge branch 'x86/ras' into x86/core, to fix conflicts 2015-06-07 15:35:27 +02:00
espfix.h x86/espfix: Add 'cpu' parameter to init_espfix_ap() 2015-07-06 15:00:33 +02:00
exec.h Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
export.h x86: move exports to actual definitions 2016-08-07 23:47:15 -04:00
extable.h x86: separate extable.h, switch sections.h to it 2016-09-27 21:15:23 -04:00
fb.h x86: Use new cache mode type in include/asm/fb.h 2014-11-16 11:04:24 +01:00
fixmap.h x86/mm: Make kmap_prot into a #define 2016-01-20 11:39:14 +01:00
floppy.h x86/floppy: Use designated initializers 2016-12-18 09:25:38 +01:00
frame.h x86/asm: Add C versions of frame pointer macros 2016-01-19 12:59:07 +01:00
ftrace.h ftrace/x86: Implement HAVE_FUNCTION_GRAPH_RET_ADDR_PTR 2016-08-24 12:15:15 +02:00
futex.h x86: replace futex_atomic_cmpxchg_inatomic() with user_atomic_cmpxchg_inatomic 2013-12-16 09:08:13 -08:00
gart.h x86, gart: Set DISTLBWALKPRB bit always 2011-04-18 09:26:48 -07:00
genapic.h x86, apic: merge genapic.h into apic.h 2009-02-17 17:52:43 +01:00
geode.h cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
hardirq.h x86/irq: Do not substract irq_tlb_count from irq_call_count 2016-08-11 11:14:59 +02:00
highmem.h kmap_atomic_to_page() has no users, remove it 2015-11-09 15:11:24 -08:00
hpet.h timers/x86/hpet: Type adjustments 2015-10-21 11:17:32 +02:00
hugetlb.h Merge branch 'x86/urgent' into x86/asm, to fix semantic conflict 2016-04-22 10:13:53 +02:00
hw_breakpoint.h perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8 2014-12-03 15:14:26 +01:00
hw_irq.h x86/irq: Cure live lock in fixup_irqs() 2016-03-18 14:51:06 +01:00
hypertransport.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
hypervisor.h virt, sched: Add generic vCPU pinning support 2016-09-05 13:52:38 +02:00
i8259.h x86/irq: Probe for PIC presence before allocating descs for legacy IRQs 2015-11-07 10:37:37 +01:00
ia32.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
ia32_unistd.h x86: Generate system call tables and unistd_*.h from tables 2011-11-17 13:35:37 -08:00
imr.h x86/platform/intel/quark: Drop IMR lock bit support 2016-02-23 07:37:23 +01:00
inat.h x86/insn: Add AVX-512 support to the instruction decoder 2016-07-21 09:37:11 -03:00
inat_types.h x86: Instruction decoder API 2009-08-27 00:35:56 +02:00
init.h x86/power/64: Always create temporary identity mapping correctly 2016-08-08 22:04:30 +02:00
insn.h x86/insn: Add AVX-512 support to the instruction decoder 2016-07-21 09:37:11 -03:00
inst.h x86, crc32-pclmul: Fix build with older binutils 2013-05-30 16:36:23 -07:00
intel-family.h x86/cpu: Fix typo in the comment for Anniedale 2017-01-05 09:03:29 +01:00
intel-mid.h x86/platform/intel-mid: Retrofit pci_platform_pm_ops ->get_state hook 2016-11-07 13:06:59 +01:00
intel_mid_vrtc.h intel_mid: Renamed *mrst* to *intel_mid* 2013-10-17 16:40:36 -07:00
intel_pmc_ipc.h intel_pmc_ipc: Update kerneldoc formatting 2015-07-09 11:23:15 -07:00
intel_pt.h perf/x86/intel/pt: Add interface to stop Intel PT logging 2015-11-23 09:58:26 +01:00
intel_punit_ipc.h platform:x86: add Intel P-Unit mailbox IPC driver 2016-01-19 15:49:36 -08:00
intel_rdt.h x86/intel_rdt: Call intel_rdt_sched_in() with preemption disabled 2016-12-02 01:13:02 +01:00
intel_rdt_common.h x86/cqm: Share PQR_ASSOC related data between CQM and CAT 2016-10-26 23:12:39 +02:00
intel_scu_ipc.h x86/platform/intel-mid: Implement power off sequence 2016-09-08 08:03:58 +02:00
intel_telemetry.h intel_telemetry: Constify telemetry_core_ops structures 2016-05-05 13:58:55 -07:00
io.h x86/io: add interface to reserve io memtype for a resource range. (v1.1) 2016-10-26 15:45:38 +10:00
io_apic.h x86: Cleanup irq_domain ops 2015-04-24 15:36:55 +02:00
iomap.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
iommu.h iommu: Remove group_mf 2012-06-25 13:48:30 +02:00
iommu_table.h x86/iommu: Fix header comments regarding standard and _FINISH macros 2015-04-09 10:56:31 +02:00
iosf_mbi.h ACPI / LPSS: override power state for LPSS DMA device 2016-01-07 14:11:32 +01:00
ipi.h x86/apic: Deinline __default_send_IPI_*, save ~200 bytes 2016-03-08 12:26:41 +01:00
irq.h nmi_backtrace: add more trigger_*_cpu_backtrace() methods 2016-10-07 18:46:30 -07:00
irq_regs.h x86: replace percpu_xxx funcs with this_cpu_xxx 2012-05-14 14:15:31 -07:00
irq_remapping.h irq_remapping: move structs outside #ifdef 2015-10-01 15:06:42 +02:00
irq_vectors.h x86/vm86: Move the vm86 IRQ definitions to vm86.h 2015-07-31 13:31:10 +02:00
irq_work.h x86/cpufeature: Replace cpu_has_apic with boot_cpu_has() usage 2016-04-13 11:37:41 +02:00
irqdomain.h x86/irq: Move irqdomain specific code into asm/irqdomain.h 2015-04-24 15:36:55 +02:00
irqflags.h nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
ist.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
jump_label.h x86/asm: Add asm macros for static keys/jump labels 2015-11-24 09:56:44 +01:00
kasan.h x86/kasan: Define KASAN_SHADOW_OFFSET per architecture 2015-08-22 14:54:55 +02:00
kaslr.h x86/mm/64: Enable KASLR for vmemmap memory region 2016-08-10 16:10:06 +02:00
kbdleds.h keyboard: Use BIOS Keyboard variable to set Numlock 2012-05-08 14:19:41 -07:00
Kbuild x86/build: Remove three unneeded genhdr-y entries 2016-11-28 07:49:17 +01:00
kdebug.h x86/dumpstack: Remove kernel text addresses from stack dump 2016-10-25 18:40:37 +02:00
kexec-bzimage64.h kexec-bzImage64: support for loading bzImage using 64bit entry 2014-08-08 15:57:33 -07:00
kexec.h x86/panic: replace smp_send_stop() with kdump friendly version in panic path 2016-10-11 15:06:32 -07:00
kgdb.h x86/asm: Stop depending on ptrace.h in alternative.h 2016-04-29 11:56:40 +02:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kmemcheck.h kmemcheck: add the kmemcheck core 2009-06-13 15:37:30 +02:00
kprobes.h x86: fix up a few misc stack pointer vs thread_info confusions 2016-06-24 16:55:53 -07:00
kvm_emulate.h KVM: x86: add read_phys to x86_emulate_ops 2015-11-04 16:24:31 +01:00
kvm_guest.h x86: kvm guest: pvclock vsyscall support 2012-11-27 23:29:10 -02:00
kvm_host.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
kvm_page_track.h kvm/page_track: call notifiers with kvm_page_track_notifier_node 2016-11-04 12:13:20 +01:00
kvm_para.h x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option 2016-02-22 08:51:38 +01:00
lguest.h lguest: Map switcher text R/O 2016-01-12 12:17:28 +01:00
lguest_hcall.h x86/fpu, lguest: Remove CR0.TS support 2016-11-01 07:47:54 +01:00
linkage.h x86/entry/32: Remove asmlinkage_protect() 2016-05-05 08:37:31 +02:00
livepatch.h x86: Audit and remove any remaining unnecessary uses of module.h 2016-07-14 15:07:00 +02:00
local.h x86, asm: change the GEN_*_RMWcc() macros to not quote the condition 2016-06-08 12:41:20 -07:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
mach_timer.h time: x86: Remove CLOCK_TICK_RATE from mach_timer.h 2011-11-21 19:00:57 -08:00
mach_traps.h x86/mrst: Avoid reporting wrong nmi status 2011-11-10 16:21:01 +01:00
math_emu.h x86/vm86: Clean up vm86.h includes 2015-07-31 13:31:10 +02:00
mc146818rtc.h rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h 2016-06-04 00:20:00 +02:00
mce.h Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:25:04 -08:00
microcode.h x86/microcode: Do not access the initrd after it has been freed 2017-01-30 09:32:42 +01:00
microcode_amd.h x86/microcode/amd: Move private inlines to .c and mark local functions static 2016-10-25 12:28:59 +02:00
microcode_intel.h x86/microcode/intel: Add a helper which gives the microcode revision 2017-01-09 23:11:14 +01:00
misc.h x86: Improve the printout of the SMP bootup CPU table 2013-09-28 10:10:26 +02:00
mmconfig.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
mmu.h x86/mpx: Move bd_addr to mm_context_t 2016-12-17 12:29:56 +01:00
mmu_context.h x86/ldt: Make all size computations unsigned 2016-12-10 00:24:39 +01:00
mmx.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
mmzone.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
mmzone_32.h x86, platforms: Remove NUMAQ 2014-02-27 08:07:39 -08:00
mmzone_64.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h x86, 386 removal: Remove CONFIG_M386 from Kconfig 2012-11-29 13:23:01 -08:00
mpspec.h x86/acpi: Introduce persistent storage for cpuid <-> apicid mapping 2016-09-21 21:18:38 +02:00
mpspec_def.h MCA: delete all remaining traces of microchannel bus support. 2012-05-17 19:06:13 -04:00
mpx.h x86/mpx: Move bd_addr to mm_context_t 2016-12-17 12:29:56 +01:00
mshyperv.h mshyperv: fix recognition of Hyper-V guest crash MSR's 2015-08-04 22:30:44 -07:00
msi.h x86/irq: Export functions to allow MSI domains in modules 2015-12-20 12:40:49 +01:00
msidef.h x86, x2apic: enable fault handling for intr-remapping 2009-03-17 15:38:59 -07:00
msr-index.h x86/mce: Include the PPIN in MCE records when available 2016-11-23 16:51:52 +01:00
msr-trace.h x86, tracing, perf: Add trace point for MSR accesses 2015-12-06 12:56:10 +01:00
msr.h x86/msr: Cleanup/streamline MSR helpers 2016-11-16 10:23:02 +01:00
mtrr.h x86/mtrr: Fix Xorg crashes in Qemu sessions 2016-03-29 12:23:26 +02:00
mwait.h x86/cpu: Add workaround for MONITOR instruction erratum on Goldmont based CPUs 2016-07-20 09:48:40 +02:00
nmi.h x86/nmi: Push duration printk() to irq context 2014-02-09 13:17:22 +01:00
nops.h x86, nop: Make the ASM_NOP* macros work from assembly 2012-04-19 15:07:42 -07:00
numa.h x86/mm/numa: Drop dead code and rename setup_node_data() to setup_alloc_data() 2014-09-16 08:55:10 +02:00
numa_32.h x86, NUMA: Move NUMA init logic from numa_64.c to numa.c 2011-05-02 14:18:53 +02:00
olpc.h x86: OLPC: switch over to using new EC driver on x86 2012-07-31 23:27:30 -04:00
olpc_ofw.h x86, olpc: Use device tree for platform identification 2011-03-15 14:17:23 -07:00
page.h x86/boot: Split out kernel_ident_mapping_init() 2016-05-07 07:38:39 +02:00
page_32.h x86/mm: Implement ASLR for hugetlb mappings 2013-11-19 14:24:50 +01:00
page_32_types.h x86/asm, x86/microcode: Add __PAGE_OFFSET_BASE define on 32-bit 2016-07-27 14:59:59 +02:00
page_64.h x86_64,vsyscall: Make vsyscall emulation configurable 2014-11-03 21:44:57 +01:00
page_64_types.h x86/mm: Enable KASLR for physical mapping memory regions 2016-07-08 17:35:15 +02:00
page_types.h x86/mm: Align macro defines 2015-12-19 11:53:40 +01:00
paravirt.h Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 14:27:49 -08:00
paravirt_types.h Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 14:27:49 -08:00
parport.h X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pat.h x86/xen, pat: Remove PAT table init code from Xen 2016-03-29 12:23:27 +02:00
pci-direct.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
pci-functions.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
pci.h x86/PCI: VMD: Request userspace control of PCIe hotplug indicators 2016-09-23 08:41:08 -05:00
pci_64.h x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA 2010-02-10 17:47:18 -08:00
pci_x86.h Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" 2016-02-27 08:52:20 -06:00
percpu.h x86: Remove x86_test_and_clear_bit_percpu() 2016-11-18 12:07:57 +01:00
perf_event.h perf/x86/intel/pt: Don't die on VMXON 2016-04-28 10:32:42 +02:00
perf_event_p4.h percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t 2014-08-28 08:58:57 -04:00
pgalloc.h arch: x86: charge page tables to kmemcg 2016-07-26 16:19:19 -07:00
pgtable-2level.h x86: drop _PAGE_FILE and pte_file()-related helpers 2015-02-10 14:30:33 -08:00
pgtable-2level_types.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
pgtable-3level.h x86: drop _PAGE_FILE and pte_file()-related helpers 2015-02-10 14:30:33 -08:00
pgtable-3level_types.h x86: expose number of page table levels on Kconfig level 2015-04-14 16:49:02 -07:00
pgtable.h Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 17:32:28 -07:00
pgtable_32.h x86: Remove set_pmd_pfn 2014-09-01 10:15:31 +02:00
pgtable_32_types.h x86: mm: Re-use the early_ioremap fixed area 2014-11-03 13:40:44 +01:00
pgtable_64.h x86/mm: Drop unused argument 'removed' from sync_global_pgds() 2016-12-15 12:46:07 +01:00
pgtable_64_types.h x86/mm/64: Enable KASLR for vmemmap memory region 2016-08-10 16:10:06 +02:00
pgtable_types.h mm: move phys_mem_access_prot_allowed() declaration to pgtable.h 2016-10-07 18:46:29 -07:00
pkeys.h x86/pkeys: Default to a restrictive init PKRU 2016-09-09 13:02:28 +02:00
platform_sst_audio.h ASoc: Intel: Atom: add deep buffer definitions for atom platforms 2015-12-19 11:49:56 +00:00
pm-trace.h PM / sleep: add pm-trace support for suspending phase 2015-03-18 15:54:27 +01:00
pmc_atom.h x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface 2015-07-06 18:39:38 +02:00
pmc_core.h platform/x86: Add PMC Driver for Intel Core SoC 2016-05-27 11:47:56 -07:00
pmem.h x86/mce: Improve memcpy_mcsafe() 2016-09-05 11:47:31 +02:00
posix_types.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
preempt.h sched/x86: Do not clear PREEMPT_NEED_RESCHED on preempt count reset 2016-11-16 10:29:04 +01:00
probe_roms.h x86: Introduce pci_map_biosrom() 2011-03-15 15:34:15 -07:00
processor-cyrix.h x86, um: ... and asm-x86 move 2008-10-22 22:55:20 -07:00
processor-flags.h UAPI: (Scripted) Disintegrate arch/x86/include/asm 2012-12-14 22:37:13 +00:00
processor.h x86/CPU: Add native CPUID variants returning a single datum 2017-01-09 23:11:13 +01:00
prom.h x86, devicetree, irq: Use common mechanism to support irqdomain 2014-06-21 23:05:43 +02:00
proto.h x86/entry: Vastly simplify SYSENTER TF (single-step) handling 2016-03-10 09:48:13 +01:00
ptrace.h x86/entry: Get rid of two-phase syscall entry work 2016-06-14 10:54:39 -07:00
pvclock-abi.h Revert "KVM: x86: zero kvmclock_offset when vcpu0 initializes kvmclock system MSR" 2015-09-28 13:06:37 +02:00
pvclock.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
qrwlock.h locking/qrwlock: Implement queue_write_unlock() using smp_store_release() 2015-08-12 11:59:05 +02:00
qspinlock.h x86/paravirt: Optimize native pv_lock_ops.vcpu_is_preempted() 2016-11-22 12:48:11 +01:00
qspinlock_paravirt.h x86/locking: Create stack frame in PV unlock 2016-02-24 08:35:44 +01:00
realmode.h x86/asm/head: Rename 'stack_start' -> 'initial_stack' 2016-08-18 18:41:29 +02:00
reboot.h x86/nmi: Save regs in crash dump on external NMI 2015-12-19 11:07:01 +01:00
reboot_fixups.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
required-features.h x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated 2016-06-30 09:11:32 +02:00
rio.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
rmwcc.h x86, asm: change GEN_*_RMWcc() to use CC_SET()/CC_OUT() 2016-06-08 12:41:20 -07:00
rwsem.h locking/rwsem/x86: Add stack frame dependency for ____down_write() 2016-10-18 12:21:16 +02:00
seccomp.h x86: switch to using asm-generic for seccomp.h 2015-04-17 09:04:10 -04:00
sections.h x86: separate extable.h, switch sections.h to it 2016-09-27 21:15:23 -04:00
segment.h x86/arch_prctl/64: Remove FSBASE/GSBASE < 4G optimization 2016-04-29 11:56:41 +02:00
serial.h serial: 8250: remove Kconfig indirection 2015-05-06 22:27:00 +02:00
setup.h x86/asm: Stop depending on ptrace.h in alternative.h 2016-04-29 11:56:40 +02:00
setup_arch.h x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
shmparam.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
sigcontext.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
sigframe.h x86/headers: Remove <asm/sigcontext.h> references on the kernel side 2015-09-08 10:06:05 +02:00
sighandling.h x86/signal/64: Re-add support for SS in the 64-bit signal context 2016-02-17 08:32:11 +01:00
signal.h x86/signal: Add SA_{X32,IA32}_ABI sa_flags 2016-09-14 21:28:11 +02:00
simd.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
smap.h x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
smp.h x86/panic: replace smp_send_stop() with kdump friendly version in panic path 2016-10-11 15:06:32 -07:00
sparsemem.h x86: 46 bit physical address support on 64 bits 2009-05-05 19:10:18 -07:00
special_insns.h x86/fpu: Remove clts() 2016-11-01 07:47:55 +01:00
spinlock.h x86/paravirt: Optimize native pv_lock_ops.vcpu_is_preempted() 2016-11-22 12:48:11 +01:00
spinlock_types.h x86, locking/spinlocks: Remove ticket (spin)lock implementation 2016-09-30 10:56:00 +02:00
sta2x11.h mfd: Add driver for STA2X11 MFD block 2012-05-09 15:34:28 +02:00
stackprotector.h x86/asm/tsc: Rename native_read_tsc() to rdtsc() 2015-07-06 15:23:28 +02:00
stacktrace.h x86/unwind: Include __schedule() in stack traces 2017-01-12 09:28:28 +01:00
string.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
string_32.h x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy 2009-09-28 16:43:15 -07:00
string_64.h x86/mce: Improve memcpy_mcsafe() 2016-09-05 11:47:31 +02:00
suspend.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
suspend_32.h x86/pm: Introduce quirk framework to save/restore extra MSR registers around suspend/resume 2015-11-26 10:04:53 +01:00
suspend_64.h x86/pm: Introduce quirk framework to save/restore extra MSR registers around suspend/resume 2015-11-26 10:04:53 +01:00
svm.h x86/kvm/svm: Simplify cpu_has_svm() 2016-06-16 00:04:31 +02:00
swiotlb.h dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
switch_to.h x86/unwind: Include __schedule() in stack traces 2017-01-12 09:28:28 +01:00
sync_bitops.h x86, bitops: remove use of "sbb" to return CF 2016-06-08 12:41:20 -07:00
sys_ia32.h unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
syscall.h x86/asm: Move the thread_info::status field to thread_struct 2016-09-15 08:25:12 +02:00
syscalls.h x86/vm86: Clean up vm86.h includes 2015-07-31 13:31:10 +02:00
sysfb.h x86: sysfb: move EFI quirks from efifb to sysfb 2013-08-02 16:17:47 -07:00
tce.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
text-patching.h x86/asm: Stop depending on ptrace.h in alternative.h 2016-04-29 11:56:40 +02:00
thread_info.h sched/core, x86: Make struct thread_info arch specific again 2016-10-20 13:27:47 +02:00
time.h x86: i8253: Consolidate definitions of global_clock_event 2011-06-09 15:01:40 +02:00
timer.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 12:03:57 -08:00
timex.h time: move PIT_TICK_RATE to linux/timex.h 2009-06-16 19:47:27 -07:00
tlb.h x86-32: Fix possible incomplete TLB invalidate with PAE pagetables 2013-04-12 16:56:47 -07:00
tlbflush.h x86/asm: Get rid of __read_cr4_safe() 2016-09-30 12:40:12 +02:00
topology.h sched/x86: Change CONFIG_SCHED_ITMT to CONFIG_SCHED_MC_PRIO 2016-11-30 08:27:08 +01:00
trace_clock.h tracing: Format non-nanosec times from tsc clock without a decimal point. 2012-11-13 15:48:40 -05:00
traps.h x86/mm: Improve stack-overflow #PF handling 2016-09-08 08:47:20 +02:00
tsc.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
uaccess.h x86/uaccess, sched/preempt: Verify access_ok() context 2016-12-06 10:32:40 +01:00
uaccess_32.h x86/uaccess: Enable hardened usercopy 2016-07-26 14:41:48 -07:00
uaccess_64.h x86/uaccess: Enable hardened usercopy 2016-07-26 14:41:48 -07:00
unaligned.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
unistd.h x86/syscalls: Add compat_sys_preadv64v2/compat_sys_pwritev64v2 2016-07-15 10:30:26 +02:00
unwind.h x86/unwind: Dump stack data on warnings 2016-12-19 11:47:05 +01:00
uprobes.h uprobes/x86: Rename arch_uprobe->def to ->defparam, minor comment updates 2014-06-05 16:21:57 +02:00
user.h x86/fpu: Rename xsave.header::xstate_bv to 'xfeatures' 2015-05-19 15:47:35 +02:00
user32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
user_32.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
user_64.h x86: Fix ASM_X86__ header guards 2008-10-22 22:55:23 -07:00
vdso.h x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_* 2016-09-14 21:28:09 +02:00
vga.h x86, ia64: Move EFI_FB vga_default_device() initialization to pci_vga_fixup() 2014-07-10 16:48:48 -06:00
vgtod.h clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
virtext.h x86/kvm/svm: Simplify cpu_has_svm() 2016-06-16 00:04:31 +02:00
vm86.h x86/vm86: Rename vm86->v86flags and v86mask 2015-07-31 13:31:11 +02:00
vmx.h KVM: nVMX: support restore of VMX capability MSRs 2016-12-08 15:31:07 +01:00
vsyscall.h x86_64,vsyscall: Make vsyscall emulation configurable 2014-11-03 21:44:57 +01:00
vvar.h x86,vdso: Use LSL unconditionally for vgetcpu 2014-11-03 13:41:53 +01:00
word-at-a-time.h word-at-a-time: make the interfaces truly generic 2012-05-26 11:33:40 -07:00
x2apic.h x86/apic: Factor out default target_cpus() operation 2012-06-06 10:22:17 +02:00
x86_init.h x86/init: Fix a couple of comment typos 2016-12-19 11:34:16 +01:00
xor.h x86/fpu: Rename i387.h to fpu/api.h 2015-05-19 15:47:30 +02:00
xor_32.h x86/cpufeature: Replace cpu_has_xmm with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00
xor_64.h x86/xor: Add alternative SSE implementation only prefetching once per 64-byte line 2013-01-25 09:23:50 +01:00
xor_avx.h x86/cpufeature: Replace cpu_has_avx with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00