Skip to contentSkip to conversation

x86/cpu changes for v2.6.38

GIT PULL Ingo Molnar 1 participant 1 message Jan 6, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest x86-cpu-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-cpu-for-linus

Thanks,

Ingo

------------------>
Kees Cook (5):
x86, cpu: Rename verify_cpu_64.S to verify_cpu.S x86, cpu: Clear XD_DISABLED flag on Intel to regain NX x86, cpu: Call verify_cpu during 32bit CPU startup x86, cpu: Only CPU features determine NX capabilities
x86: Fix included-by file reference comments

 arch/x86/boot/compressed/head_64.S                |    2 +-
 arch/x86/kernel/head_32.S                         |    6 +++
 arch/x86/kernel/trampoline_64.S                   |    2 +-
 arch/x86/kernel/{verify_cpu_64.S => verify_cpu.S} |   49 +++++++++++++++++---
 arch/x86/mm/setup_nx.c                            |    2 +-
 5 files changed, 50 insertions(+), 11 deletions(-)
 rename arch/x86/kernel/{verify_cpu_64.S => verify_cpu.S} (65%)
arch/x86/boot/compressed/head_64.S +1 -1
index 52f85a1..35af09d 100644
@@ -182,7 +182,7 @@ no_longmode:
 	hlt
 	jmp     1b
 
-#include "../../kernel/verify_cpu_64.S"
+#include "../../kernel/verify_cpu.S"
 
 	/*
 	 * Be careful here startup_64 needs to be at a predictable
arch/x86/kernel/head_32.S +6 -0
index bcece91..fdaea52 100644
@@ -314,6 +314,10 @@ ENTRY(startup_32_smp)
 	subl $0x80000001, %eax
 	cmpl $(0x8000ffff-0x80000001), %eax
 	ja 6f
+
+	/* Clear bogus XD_DISABLE bits */
+	call verify_cpu
+
 	mov $0x80000001, %eax
 	cpuid
 	/* Execute Disable bit supported? */
@@ -609,6 +613,8 @@ ignore_int:
 #endif
 	iret
 
+#include "verify_cpu.S"
+
 	__REFDATA
 .align 4
 ENTRY(initial_code)
arch/x86/kernel/trampoline_64.S +1 -1
index 3af2dff..075d130 100644
@@ -127,7 +127,7 @@ startup_64:
 no_longmode:
 	hlt
 	jmp no_longmode
-#include "verify_cpu_64.S"
+#include "verify_cpu.S"
 
 	# Careful these need to be in the same 64K segment as the above;
 tidt:
arch/x86/kernel/verify_cpu.S renamed from arch/x86/kernel/verify_cpu_64.S +41 -8

73 lines not on this page · raw message

arch/x86/mm/setup_nx.c +1 -1
index a3250aa..410531d 100644
@@ -41,7 +41,7 @@ void __init x86_report_nx(void)
 {
 	if (!cpu_has_nx) {
 		printk(KERN_NOTICE "Notice: NX (Execute Disable) protection "
-		       "missing in CPU or disabled in BIOS!\n");
+		       "missing in CPU!\n");
 	} else {
 #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
 		if (disable_nx) {