1 |
From 1e5476815fd7f98b888e01a0f9522b63085f96c9 Mon Sep 17 00:00:00 2001 |
2 |
From: Thomas Gleixner <tglx@linutronix.de> |
3 |
Date: Thu, 4 Jan 2018 22:19:04 +0100 |
4 |
Subject: x86/tlb: Drop the _GPL from the cpu_tlbstate export |
5 |
|
6 |
From: Thomas Gleixner <tglx@linutronix.de> |
7 |
|
8 |
commit 1e5476815fd7f98b888e01a0f9522b63085f96c9 upstream. |
9 |
|
10 |
The recent changes for PTI touch cpu_tlbstate from various tlb_flush |
11 |
inlines. cpu_tlbstate is exported as GPL symbol, so this causes a |
12 |
regression when building out of tree drivers for certain graphics cards. |
13 |
|
14 |
Aside of that the export was wrong since it was introduced as it should |
15 |
have been EXPORT_PER_CPU_SYMBOL_GPL(). |
16 |
|
17 |
Use the correct PER_CPU export and drop the _GPL to restore the previous |
18 |
state which allows users to utilize the cards they payed for. |
19 |
|
20 |
As always I'm really thrilled to make this kind of change to support the |
21 |
#friends (or however the hot hashtag of today is spelled) from that closet |
22 |
sauce graphics corp. |
23 |
|
24 |
Fixes: 1e02ce4cccdc ("x86: Store a per-cpu shadow copy of CR4") |
25 |
Fixes: 6fd166aae78c ("x86/mm: Use/Fix PCID to optimize user/kernel switches") |
26 |
Reported-by: Kees Cook <keescook@google.com> |
27 |
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
28 |
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
29 |
Cc: Peter Zijlstra <peterz@infradead.org> |
30 |
Cc: Andy Lutomirski <luto@kernel.org> |
31 |
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
32 |
|
33 |
--- |
34 |
arch/x86/mm/init.c | 2 +- |
35 |
1 file changed, 1 insertion(+), 1 deletion(-) |
36 |
|
37 |
--- a/arch/x86/mm/init.c |
38 |
+++ b/arch/x86/mm/init.c |
39 |
@@ -870,7 +870,7 @@ __visible DEFINE_PER_CPU_SHARED_ALIGNED( |
40 |
.next_asid = 1, |
41 |
.cr4 = ~0UL, /* fail hard if we screw up cr4 shadow initialization */ |
42 |
}; |
43 |
-EXPORT_SYMBOL_GPL(cpu_tlbstate); |
44 |
+EXPORT_PER_CPU_SYMBOL(cpu_tlbstate); |
45 |
|
46 |
void update_cache_mode_entry(unsigned entry, enum page_cache_mode cache) |
47 |
{ |