]>
Commit | Line | Data |
---|---|---|
59d5af67 | 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
321d628a FG |
2 | From: Andi Kleen <ak@linux.intel.com> |
3 | Date: Fri, 13 Oct 2017 14:56:45 -0700 | |
59d5af67 FG |
4 | Subject: [PATCH] x86/fpu: Remove the explicit clearing of XSAVE dependent |
5 | features | |
321d628a FG |
6 | MIME-Version: 1.0 |
7 | Content-Type: text/plain; charset=UTF-8 | |
8 | Content-Transfer-Encoding: 8bit | |
9 | ||
10 | CVE-2017-5754 | |
11 | ||
12 | Clearing a CPU feature with setup_clear_cpu_cap() clears all features | |
13 | which depend on it. Expressing feature dependencies in one place is | |
14 | easier to maintain than keeping functions like | |
15 | fpu__xstate_clear_all_cpu_caps() up to date. | |
16 | ||
17 | The features which depend on XSAVE have their dependency expressed in the | |
18 | dependency table, so its sufficient to clear X86_FEATURE_XSAVE. | |
19 | ||
20 | Remove the explicit clearing of XSAVE dependent features. | |
21 | ||
22 | Signed-off-by: Andi Kleen <ak@linux.intel.com> | |
23 | Reviewed-by: Thomas Gleixner <tglx@linutronix.de> | |
24 | Cc: Linus Torvalds <torvalds@linux-foundation.org> | |
25 | Cc: Peter Zijlstra <peterz@infradead.org> | |
26 | Link: http://lkml.kernel.org/r/20171013215645.23166-6-andi@firstfloor.org | |
27 | Signed-off-by: Ingo Molnar <mingo@kernel.org> | |
28 | (cherry picked from commit 73e3a7d2a7c3be29a5a22b85026f6cfa5664267f) | |
29 | Signed-off-by: Andy Whitcroft <apw@canonical.com> | |
30 | Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> | |
31 | (cherry picked from commit af445f9ba8bb30b47ccb5247b8f5ba28c9f2be3e) | |
32 | Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> | |
33 | --- | |
34 | arch/x86/kernel/fpu/xstate.c | 20 -------------------- | |
35 | 1 file changed, 20 deletions(-) | |
36 | ||
37 | diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c | |
38 | index 3abe85b08234..fd6882c42246 100644 | |
39 | --- a/arch/x86/kernel/fpu/xstate.c | |
40 | +++ b/arch/x86/kernel/fpu/xstate.c | |
41 | @@ -73,26 +73,6 @@ unsigned int fpu_user_xstate_size; | |
42 | void fpu__xstate_clear_all_cpu_caps(void) | |
43 | { | |
44 | setup_clear_cpu_cap(X86_FEATURE_XSAVE); | |
45 | - setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT); | |
46 | - setup_clear_cpu_cap(X86_FEATURE_XSAVEC); | |
47 | - setup_clear_cpu_cap(X86_FEATURE_XSAVES); | |
48 | - setup_clear_cpu_cap(X86_FEATURE_AVX); | |
49 | - setup_clear_cpu_cap(X86_FEATURE_AVX2); | |
50 | - setup_clear_cpu_cap(X86_FEATURE_AVX512F); | |
51 | - setup_clear_cpu_cap(X86_FEATURE_AVX512IFMA); | |
52 | - setup_clear_cpu_cap(X86_FEATURE_AVX512PF); | |
53 | - setup_clear_cpu_cap(X86_FEATURE_AVX512ER); | |
54 | - setup_clear_cpu_cap(X86_FEATURE_AVX512CD); | |
55 | - setup_clear_cpu_cap(X86_FEATURE_AVX512DQ); | |
56 | - setup_clear_cpu_cap(X86_FEATURE_AVX512BW); | |
57 | - setup_clear_cpu_cap(X86_FEATURE_AVX512VL); | |
58 | - setup_clear_cpu_cap(X86_FEATURE_MPX); | |
59 | - setup_clear_cpu_cap(X86_FEATURE_XGETBV1); | |
60 | - setup_clear_cpu_cap(X86_FEATURE_AVX512VBMI); | |
61 | - setup_clear_cpu_cap(X86_FEATURE_PKU); | |
62 | - setup_clear_cpu_cap(X86_FEATURE_AVX512_4VNNIW); | |
63 | - setup_clear_cpu_cap(X86_FEATURE_AVX512_4FMAPS); | |
64 | - setup_clear_cpu_cap(X86_FEATURE_AVX512_VPOPCNTDQ); | |
65 | } | |
66 | ||
67 | /* | |
68 | -- | |
69 | 2.14.2 | |
70 |