linux/arch/x86/kernel/cpu
Kees Cook 4eefbe792b x86: Use a read-only IDT alias on all CPUs
Make a copy of the IDT (as seen via the "sidt" instruction) read-only.
This primarily removes the IDT from being a target for arbitrary memory
write attacks, and has the added benefit of also not leaking the kernel
base offset, if it has been relocated.

We already did this on vendor == Intel and family == 5 because of the
F0 0F bug -- regardless of if a particular CPU had the F0 0F bug or
not.  Since the workaround was so cheap, there simply was no reason to
be very specific.  This patch extends the readonly alias to all CPUs,
but does not activate the #PF to #UD conversion code needed to deliver
the proper exception in the F0 0F case except on Intel family 5
processors.

Signed-off-by: Kees Cook <keescook@chromium.org>
Link: http://lkml.kernel.org/r/20130410192422.GA17344@www.outflux.net
Cc: Eric Northup <digitaleric@google.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-04-11 13:53:19 -07:00
..
mcheck The sweeping change is to make add_taint() explicitly indicate whether to disable 2013-02-25 15:41:43 -08:00
mtrr taint: add explicit flag to show whether lock dep is still OK. 2013-01-21 17:17:57 +10:30
.gitignore
amd.c The sweeping change is to make add_taint() explicitly indicate whether to disable 2013-02-25 15:41:43 -08:00
bugs_64.c
bugs.c x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag 2013-02-10 03:32:22 -05:00
centaur.c
common.c x86/common.c: load ucode in 64 bit or show loading ucode info in 32 bit on AP 2013-01-31 13:19:06 -08:00
cpu.h x86/tlb_info: get last level TLB entry number of CPU 2012-06-27 19:28:24 -07:00
cyrix.c
hypervisor.c x86/apic: Allow x2apic without IR on VMware platform 2013-01-24 13:11:18 +01:00
intel_cacheinfo.c Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-19 20:09:48 -08:00
intel.c x86: Use a read-only IDT alias on all CPUs 2013-04-11 13:53:19 -07:00
Makefile perf/x86: Add support for Intel Xeon-Phi Knights Corner PMU 2012-10-04 13:32:37 +02:00
match.c
mkcapflags.pl UAPI: Partition the header include path sets and add uapi/ header directories 2012-10-02 18:01:26 +01:00
mshyperv.c X86: Handle Hyper-V vmbus interrupts as special hypervisor interrupts 2013-02-12 16:27:15 -08:00
perf_event_amd_ibs.c treewide: Replace incomming with incoming in all comments and strings 2013-01-03 16:15:49 +01:00
perf_event_amd.c perf/x86/amd: Enable northbridge performance counters on AMD family 15h 2013-02-16 09:37:27 +01:00
perf_event_intel_ds.c perf,x86: fix wrmsr_on_cpu() warning on suspend/resume 2013-03-17 15:44:43 -07:00
perf_event_intel_lbr.c perf/x86: Enable Intel Cedarview Atom suppport 2012-09-04 17:29:23 +02:00
perf_event_intel_uncore.c X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
perf_event_intel_uncore.h perf/x86: Add cpumask for uncore pmu 2012-09-17 13:11:43 -03:00
perf_event_intel.c perf/x86: Add SNB/SNB-EP scheduling constraints for cycle_activity event 2013-03-18 10:23:13 +01:00
perf_event_knc.c perf/x86: Enable overflow on Intel KNC with a custom knc_pmu_handle_irq() 2012-10-24 12:00:49 +02:00
perf_event_p4.c perf/x86: Rename Intel specific macros 2012-07-05 21:19:39 +02:00
perf_event_p6.c perf/x86: Fix P6 driver section warning 2013-01-24 16:04:56 +01:00
perf_event.c perf/x86: Allow for architecture specific RDPMC indexes 2013-02-06 19:45:24 +01:00
perf_event.h perf/x86: Allow for architecture specific RDPMC indexes 2013-02-06 19:45:24 +01:00
perfctr-watchdog.c perf/x86: Add support for Intel Xeon-Phi Knights Corner PMU 2012-10-04 13:32:37 +02:00
powerflags.c
proc.c x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag 2013-02-10 03:32:22 -05:00
rdrand.c
scattered.c x86, cpufeature: Rename X86_FEATURE_DTS to X86_FEATURE_DTHERM 2012-06-25 09:01:15 -07:00
topology.c
transmeta.c
umc.c
vmware.c x86/apic: Allow x2apic without IR on VMware platform 2013-01-24 13:11:18 +01:00