[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1249425262.18955.40.camel@ank32.eng.vmware.com>
Date: Tue, 04 Aug 2009 15:34:22 -0700
From: Alok Kataria <akataria@...are.com>
To: "H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...e.hu>
Cc: the arch/x86 maintainers <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>, stable@...nel.org
Subject: VMI fix for stack protector
With CONFIG_STACK_PROTECTOR turned on, VMI doesn't boot with more than one
processor. The problem is with the gs value not being initialized correctly
when registering the secondary processor for VMI's case.
The patch below initializes the gs value for the AP to __KERNEL_STACK_CANARY.
Without this the secondary processor keeps on taking a GP on every gs access.
Needs to go in for 2.6.30.x too, since STACK_PROTECTOR for 32bit was
introduced in 2.6.30.
Patch on top of 2.6.31-rc5.
Signed-off-by: Alok N Kataria <akataria@...are.com>
Cc: stable@...nel.org
Index: linux-2.6/arch/x86/kernel/vmi_32.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/vmi_32.c 2009-08-03 13:55:41.000000000 -0700
+++ linux-2.6/arch/x86/kernel/vmi_32.c 2009-08-04 14:13:22.000000000 -0700
@@ -442,7 +442,7 @@ vmi_startup_ipi_hook(int phys_apicid, un
ap.ds = __USER_DS;
ap.es = __USER_DS;
ap.fs = __KERNEL_PERCPU;
- ap.gs = 0;
+ ap.gs = __KERNEL_STACK_CANARY;
ap.eflags = 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists