Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Apr 2013 15:37:24 +0000 (08:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Apr 2013 15:37:24 +0000 (08:37 -0700)
Pull perparatory x86 kasrl changes from Ingo Molnar:
 "This contains changes from the ongoing KASLR work, by Kees Cook.

  The main changes are the use of a read-only IDT on x86 (which
  decouples the userspace visible virtual IDT address from the physical
  address), and a rework of ELF relocation support, in preparation of
  random, boot-time kernel image relocation."

* 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, relocs: Refactor the relocs tool to merge 32- and 64-bit ELF
  x86, relocs: Build separate 32/64-bit tools
  x86, relocs: Add 64-bit ELF support to relocs tool
  x86, relocs: Consolidate processing logic
  x86, relocs: Generalize ELF structure names
  x86: Use a read-only IDT alias on all CPUs

1  2 
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/traps.c
arch/x86/xen/mmu.c

@@@ -218,16 -192,14 +204,14 @@@ static void __cpuinit intel_workarounds
        /*
         * All current models of Pentium and Pentium with MMX technology CPUs
         * have the F0 0F bug, which lets nonprivileged users lock up the
-        * system.
-        * Note that the workaround only should be initialized once...
+        * system. Announce that the fault handler will be checking for it.
         */
 -      c->f00f_bug = 0;
 +      clear_cpu_bug(c, X86_BUG_F00F);
        if (!paravirt_enabled() && c->x86 == 5) {
                static int f00f_workaround_enabled;
  
 -              c->f00f_bug = 1;
 +              set_cpu_bug(c, X86_BUG_F00F);
                if (!f00f_workaround_enabled) {
-                       trap_init_f00f_bug();
                        printk(KERN_NOTICE "Intel Pentium with F0 0F bug - workaround enabled.\n");
                        f00f_workaround_enabled = 1;
                }
@@@ -56,6 -55,9 +56,7 @@@
  #include <asm/i387.h>
  #include <asm/fpu-internal.h>
  #include <asm/mce.h>
 -#include <asm/context_tracking.h>
+ #include <asm/fixmap.h>
 -
  #include <asm/mach_traps.h>
  
  #ifdef CONFIG_X86_64
Simple merge