| centosplus patch [bug#15639] |
| |
| commit 9d5f38ba6c82359b7cec31fb27fb78ecc02f3946 |
| Author: Tom Lendacky <thomas.lendacky@amd.com> |
| Date: Fri Dec 15 10:20:12 2017 -0600 |
| |
| 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 |
| |
| Applied-by: Akemi Yagi <toracat@centos.org> |
| |
| |
| |
| @@ -402,13 +402,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 struct dma_map_ops sev_dma_ops = { |
| .alloc = sev_alloc, |