summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/alternative.c
diff options
context:
space:
mode:
authorH. Peter Anvin2010-07-13 23:57:50 +0200
committerH. Peter Anvin2010-07-13 23:57:50 +0200
commit3b770a2128423a687e6e9c57184a584fb4ba4c77 (patch)
treee9e4698fa84db10d6a58a78103ecc16fe4e5a94b /arch/x86/kernel/alternative.c
parentx86, alternatives: Fix one more open-coded 8-bit alternative number (diff)
downloadkernel-qcow2-linux-3b770a2128423a687e6e9c57184a584fb4ba4c77.tar.gz
kernel-qcow2-linux-3b770a2128423a687e6e9c57184a584fb4ba4c77.tar.xz
kernel-qcow2-linux-3b770a2128423a687e6e9c57184a584fb4ba4c77.zip
x86, alternatives: BUG on encountering an invalid CPU feature number
Make the alternatives-patching code BUG on encountering an invalid CPU feature number. Should have done this a long time ago. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Yinghai Lu <yinhai@kernel.org> Cc: Suresh Siddha <suresh.b.siddha@intel.com> LKML-Reference: <tip-df378ccfc4dd04e263426ad805516915874774aa@git.kernel.org>
Diffstat (limited to 'arch/x86/kernel/alternative.c')
-rw-r--r--arch/x86/kernel/alternative.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 70237732a6c7..f65ab8b014c4 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -214,6 +214,7 @@ void __init_or_module apply_alternatives(struct alt_instr *start,
u8 *instr = a->instr;
BUG_ON(a->replacementlen > a->instrlen);
BUG_ON(a->instrlen > sizeof(insnbuf));
+ BUG_ON(a->cpuid >= NCAPINTS*32);
if (!boot_cpu_has(a->cpuid))
continue;
#ifdef CONFIG_X86_64