From: Linus Torvalds Date: Tue, 30 Apr 2013 15:37:24 +0000 (-0700) Subject: Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=01c7cd0ef5d98fdd007d8a04c9f834bead6e5ee1;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git Merge branch 'x86-kaslr-for-linus' of git://git./linux/kernel/git/tip/tip 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 --- 01c7cd0ef5d98fdd007d8a04c9f834bead6e5ee1 diff --cc arch/x86/kernel/cpu/intel.c index a942b7c2ccee,71700247a5d7..9b0c441c03f5 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.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; } diff --cc arch/x86/kernel/traps.c index ff6d2271cbe2,10e24462c058..772e2a846dec --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@@ -56,6 -55,9 +56,7 @@@ #include #include #include -#include + #include - #include #ifdef CONFIG_X86_64