Messages in this thread | | | Date | Wed, 8 Nov 2017 21:47:45 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH] x86/mm: Unbreak modules that rely on external PAGE_KERNEL availability |
| |
On Wed, 8 Nov 2017, Jiri Kosina wrote:
> From: Jiri Kosina <jkosina@suse.cz> > > 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 <tglx@linutronix.de>
| |