diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-20 21:11:41 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-20 21:11:41 +0100 |
commit | 7fe67a1180db49d41a3f764c379a08f8e31580ec (patch) | |
tree | 41a6f78958d5a6e63791a889daaa1a9633150a49 /arch/x86/kernel/cpu/amd.c | |
parent | Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel... (diff) | |
parent | x86: Add check for number of available vectors before CPU down (diff) | |
download | linux-7fe67a1180db49d41a3f764c379a08f8e31580ec.tar.xz linux-7fe67a1180db49d41a3f764c379a08f8e31580ec.zip |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull leftover x86 fixes from Ingo Molnar:
"Two leftover fixes that did not make it into v3.13"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86: Add check for number of available vectors before CPU down
x86, cpu, amd: Add workaround for family 16h, erratum 793
Diffstat (limited to 'arch/x86/kernel/cpu/amd.c')
-rw-r--r-- | arch/x86/kernel/cpu/amd.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 525712c7ffa2..d3153e281d72 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -507,6 +507,16 @@ static void early_init_amd(struct cpuinfo_x86 *c) set_cpu_cap(c, X86_FEATURE_EXTD_APICID); } #endif + + /* F16h erratum 793, CVE-2013-6885 */ + if (c->x86 == 0x16 && c->x86_model <= 0xf) { + u64 val; + + rdmsrl(MSR_AMD64_LS_CFG, val); + if (!(val & BIT(15))) + wrmsrl(MSR_AMD64_LS_CFG, val | BIT(15)); + } + } static const int amd_erratum_383[]; |