• Tom Lendacky's avatar
    x86/mm: Unbreak modules that use the DMA API · 9d5f38ba
    Tom Lendacky authored
    Commit d8aa7eea ("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 87df2617 ("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: default avatarTom Lendacky <thomas.lendacky@amd.com>
    Signed-off-by: default avatarThomas 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
    9d5f38ba
mem_encrypt.c 23.8 KB