From: Avi Kivity Date: Wed, 22 Aug 2012 10:03:48 +0000 (+0300) Subject: x86/alternatives: Fix p6 nops on non-modular kernels X-Git-Tag: v3.0.45~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=368d53159311622b2555a34666f8ecd7ab8da765;p=platform%2Fkernel%2Flinux-stable.git x86/alternatives: Fix p6 nops on non-modular kernels commit cb09cad44f07044d9810f18f6f9a6a6f3771f979 upstream. Probably a leftover from the early days of self-patching, p6nops are marked __initconst_or_module, which causes them to be discarded in a non-modular kernel. If something later triggers patching, it will overwrite kernel code with garbage. Reported-by: Tomas Racek Signed-off-by: Avi Kivity Cc: Michael Tokarev Cc: Borislav Petkov Cc: Marcelo Tosatti Cc: qemu-devel@nongnu.org Cc: Anthony Liguori Cc: H. Peter Anvin Cc: Alan Cox Cc: Alan Cox Link: http://lkml.kernel.org/r/5034AE84.90708@redhat.com Signed-off-by: Ingo Molnar Cc: Ben Jencks Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index dfabea4de417..4c734e6e5877 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c @@ -161,7 +161,7 @@ static const unsigned char * const k7_nops[ASM_NOP_MAX+2] = #endif #ifdef P6_NOP1 -static const unsigned char __initconst_or_module p6nops[] = +static const unsigned char p6nops[] = { P6_NOP1, P6_NOP2,