early_init_amd() is called on all AMD processors, both 64 and 32 bit. Presently 32 bit processors get the X86_FEATURE_VMMCALL feature set, which they do not support. Add conditionals to restrict it to 64 bit processors.
Cc: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Matthew Whitehead <tedheads...@gmail.com> --- arch/x86/kernel/cpu/amd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 38915fbfae73..df06919324cd 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -662,12 +662,14 @@ static void early_init_amd(struct cpuinfo_x86 *c) } #endif +#ifdef CONFIG_X86_64 /* * This is only needed to tell the kernel whether to use VMCALL * and VMMCALL. VMMCALL is never executed except under virt, so * we can set it unconditionally. */ set_cpu_cap(c, X86_FEATURE_VMMCALL); +#endif /* F16h erratum 793, CVE-2013-6885 */ if (c->x86 == 0x16 && c->x86_model <= 0xf) -- 2.16.1