x86: setup_smep needs to be __cpuinit
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 23 May 2011 04:37:01 +0000 (21:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 23 May 2011 04:44:13 +0000 (21:44 -0700)
commit82da65dab5f438ac7df28eeb43e2f5b742aa00ef
tree0b2a579d9385c516f6fbb3e2689f6611c9228aa7
parenta1e4891fd48d298870b704c6eb48cba0da5ed6b1
x86: setup_smep needs to be __cpuinit

The setup_smep function gets calle at resume time too, and is thus not a
pure __init function.  When marked as __init, it gets thrown out after
the kernel has initialized, and when the kernel is suspended and
resumed, the code will no longer be around, and we'll get a nice "kernel
tried to execute NX-protected page" oops because the page is no longer
marked executable.

Reported-and-tested-by: Parag Warudkar <parag.lkml@gmail.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: "H. Peter Anvin" <hpa@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/kernel/cpu/common.c