aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0085-x86-mm-Unbreak-modules-that-use-the-DMA-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0085-x86-mm-Unbreak-modules-that-use-the-DMA-API.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0085-x86-mm-Unbreak-modules-that-use-the-DMA-API.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0085-x86-mm-Unbreak-modules-that-use-the-DMA-API.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0085-x86-mm-Unbreak-modules-that-use-the-DMA-API.patch
new file mode 100644
index 00000000..f6d1f9ff
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0085-x86-mm-Unbreak-modules-that-use-the-DMA-API.patch
@@ -0,0 +1,56 @@
+From dcd7c1da7989f960deccc1b1a0e503de1070c324 Mon Sep 17 00:00:00 2001
+From: Tom Lendacky <thomas.lendacky@amd.com>
+Date: Fri, 15 Dec 2017 10:20:12 -0600
+Subject: [PATCH 85/95] x86/mm: Unbreak modules that use the DMA API
+
+Commit d8aa7eea78a1 ("x86/mm: Add Secure Encrypted Virtualization (SEV)
+support") changed sme_active() from an inline function that referenced
+sme_me_mask to a non-inlined function in order to make the sev_enabled
+variable a static variable. This function was marked EXPORT_SYMBOL_GPL
+because at the time the patch was submitted, sme_me_mask was marked
+EXPORT_SYMBOL_GPL.
+
+Commit 87df26175e67 ("x86/mm: Unbreak modules that rely on external
+PAGE_KERNEL availability") changed sme_me_mask variable from
+EXPORT_SYMBOL_GPL to EXPORT_SYMBOL, allowing external modules the ability
+to build with CONFIG_AMD_MEM_ENCRYPT=y. Now, however, with sev_active()
+no longer an inline function and marked as EXPORT_SYMBOL_GPL, external
+modules that use the DMA API are once again broken in 4.15. Since the DMA
+API is meant to be used by external modules, this needs to be changed.
+
+Change the sme_active() and sev_active() functions from EXPORT_SYMBOL_GPL
+to EXPORT_SYMBOL.
+
+Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Cc: Borislav Petkov <bp@alien8.de>
+Cc: Brijesh Singh <brijesh.singh@amd.com>
+Link: https://lkml.kernel.org/r/20171215162011.14125.7113.stgit@tlendack-t1.amdoffice.net
+Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com>
+---
+ arch/x86/mm/mem_encrypt.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c
+index 6d59032..5b023f2 100755
+--- a/arch/x86/mm/mem_encrypt.c
++++ b/arch/x86/mm/mem_encrypt.c
+@@ -406,13 +406,13 @@ bool sme_active(void)
+ {
+ return sme_me_mask && !sev_enabled;
+ }
+-EXPORT_SYMBOL_GPL(sme_active);
++EXPORT_SYMBOL(sme_active);
+
+ bool sev_active(void)
+ {
+ return sme_me_mask && sev_enabled;
+ }
+-EXPORT_SYMBOL_GPL(sev_active);
++EXPORT_SYMBOL(sev_active);
+
+ static const struct dma_map_ops sev_dma_ops = {
+ .alloc = sev_alloc,
+--
+2.7.4
+