Merge tag 'for-linus-4.12b-rc0c-tag' of git://git.kernel.org/pub/scm/linux/kernel...
[muen/linux.git] / arch / x86 / kernel / cpu / amd.c
index ee8f11800295e80428c8a7cb3c179ebce1d081ec..bb5abe8f5fd46c17ca7c27361cbdb99e00db645f 100644 (file)
@@ -799,8 +799,9 @@ static void init_amd(struct cpuinfo_x86 *c)
                if (cpu_has(c, X86_FEATURE_3DNOW) || cpu_has(c, X86_FEATURE_LM))
                        set_cpu_cap(c, X86_FEATURE_3DNOWPREFETCH);
 
-       /* AMD CPUs don't reset SS attributes on SYSRET */
-       set_cpu_bug(c, X86_BUG_SYSRET_SS_ATTRS);
+       /* AMD CPUs don't reset SS attributes on SYSRET, Xen does. */
+       if (!cpu_has(c, X86_FEATURE_XENPV))
+               set_cpu_bug(c, X86_BUG_SYSRET_SS_ATTRS);
 }
 
 #ifdef CONFIG_X86_32