On Wed, 8 Nov 2017, Jiri Kosina wrote:

> From: Jiri Kosina <[email protected]>
> 
> Commit
> 
>   7744ccdbc16f0 ("x86/mm: Add Secure Memory Encryption (SME) support")
> 
> as a side-effect made PAGE_KERNEL all of a sudden unavailable to modules 
> which can't make use of EXPORT_SYMBOL_GPL() symbols.
> 
> This is because once SME is enabled, sme_me_mask (which is introduced as 
> EXPORT_SYMBOL_GPL) makes its way to PAGE_KERNEL through _PAGE_ENC, causing 
> imminent build failure for all the modules which make use of all the 
> EXPORT-SYMBOL()-exported API (such as vmap(), __vmalloc(), 
> remap_pfn_range(), ...).
> 
> Exporting (as EXPORT_SYMBOL()) interfaces (and having done so for ages) 
> that take pgprot_t argument, while making it impossible to -- all of a 
> sudden -- pass PAGE_KERNEL to it, feels rather incosistent.
> 
> Restore the original behavior and make it possible to pass PAGE_KERNEL to 
> all its EXPORT_SYMBOL() consumers.

To be honest, I fundamentaly hate this, because proprietary crap out there
more or less holds the kernel hostage in its decisions of marking new
functionality GPL only. You have already a choice by disabling SME, but
sure you want to get everything: new features and proprietary stuff.

I fear, that I can't prevent this from being applied, but whoever picks up
that patch, please add:

Despised-by: Thomas Gleixner <[email protected]>

Reply via email to