On Wed, Nov 8, 2017 at 1:23 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > So _this_ is the underlying problem: > > #define _PAGE_ENC (_AT(pteval_t, sme_me_mask)) > > because that is simply not how the _PAGE_xyz macros should work! > > So it should have been a fixed bit to begin with, and the dynamic part > should have been elsewhere. Hmm. It's not an entirely new problem. We have that "cachemode2protval()" thing, which causes he exact same thing, except it accesses the __cachemode2pte_tbl[] array instead. Which we also EXPORT_SYMBOL(). So I guess _PAGE_ENC isn't any worse than what we already had. Of course, that at least doesn't trigger for the simple cases - only _PAGE_CACHE_WP and _PAGE_NOCACHE end up triggering that "cachemode2protval()" case. I do wonder if we could perhaps at least try to unify these things a bit, and export just one thing. And maybe avoid accessing two completely different memory locasions every time we use _PAGE_KERNEL or whatever. But it all looks rather nasty, so for 4.14 clearly I should just apply that trivial one-liner patch for now. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>