# git rev-parse -q --verify 87df26175e67c26ccdd3a002fbbb8cde78e28a19^{commit} 87df26175e67c26ccdd3a002fbbb8cde78e28a19 already have revision, skipping fetch # git checkout -q -f -B kisskb 87df26175e67c26ccdd3a002fbbb8cde78e28a19 # git clean -qxdf # git log -1 commit 87df26175e67c26ccdd3a002fbbb8cde78e28a19 Author: Jiri Kosina Date: Wed Nov 8 21:18:18 2017 +0100 x86/mm: Unbreak modules that rely on external PAGE_KERNEL availability 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. [ This is all so not wonderful. We shouldn't need that "sme_me_mask" access at all in all those places that really don't care about that level of detail, and just want _PAGE_KERNEL or whatever. We have some similar issues with _PAGE_CACHE_WP and _PAGE_NOCACHE, both of which hide a "cachemode2protval()" call, and which also ends up using another EXPORT_SYMBOL(), but at least that only triggers for the much more rare cases. Maybe we could move these dynamic page table bits to be generated much deeper down in the VM layer, instead of hiding them in the macros that everybody uses. So this all would merit some cleanup. But not today. - Linus ] Cc: Tom Lendacky Signed-off-by: Jiri Kosina Despised-by: Thomas Gleixner Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux-gcc --version # < git log --format=%s --max-count=1 87df26175e67c26ccdd3a002fbbb8cde78e28a19 # < make -j 48 ARCH=blackfin O=/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux- TCM-BF518_defconfig # make -j 48 ARCH=blackfin O=/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux- make[1]: Entering directory '/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/blackfin/include/generated/uapi/asm/auxvec.h WRAP arch/blackfin/include/generated/uapi/asm/bitsperlong.h WRAP arch/blackfin/include/generated/uapi/asm/errno.h WRAP arch/blackfin/include/generated/uapi/asm/ioctl.h WRAP arch/blackfin/include/generated/uapi/asm/ipcbuf.h WRAP arch/blackfin/include/generated/uapi/asm/kvm_para.h WRAP arch/blackfin/include/generated/uapi/asm/mman.h WRAP arch/blackfin/include/generated/uapi/asm/msgbuf.h WRAP arch/blackfin/include/generated/uapi/asm/param.h WRAP arch/blackfin/include/generated/uapi/asm/resource.h WRAP arch/blackfin/include/generated/uapi/asm/sembuf.h WRAP arch/blackfin/include/generated/uapi/asm/setup.h WRAP arch/blackfin/include/generated/uapi/asm/shmbuf.h WRAP arch/blackfin/include/generated/uapi/asm/shmparam.h CHK include/generated/uapi/linux/version.h WRAP arch/blackfin/include/generated/uapi/asm/socket.h WRAP arch/blackfin/include/generated/uapi/asm/sockios.h WRAP arch/blackfin/include/generated/uapi/asm/statfs.h WRAP arch/blackfin/include/generated/uapi/asm/termbits.h UPD include/generated/uapi/linux/version.h WRAP arch/blackfin/include/generated/uapi/asm/termios.h WRAP arch/blackfin/include/generated/uapi/asm/types.h WRAP arch/blackfin/include/generated/uapi/asm/ucontext.h HOSTCC scripts/basic/bin2c UPD include/config/kernel.release Using /home/kisskb/slave/src as source for kernel WRAP arch/blackfin/include/generated/asm/bugs.h WRAP arch/blackfin/include/generated/asm/current.h WRAP arch/blackfin/include/generated/asm/device.h WRAP arch/blackfin/include/generated/asm/div64.h WRAP arch/blackfin/include/generated/asm/emergency-restart.h WRAP arch/blackfin/include/generated/asm/extable.h WRAP arch/blackfin/include/generated/asm/fb.h WRAP arch/blackfin/include/generated/asm/futex.h WRAP arch/blackfin/include/generated/asm/hw_irq.h WRAP arch/blackfin/include/generated/asm/irq_regs.h WRAP arch/blackfin/include/generated/asm/irq_work.h WRAP arch/blackfin/include/generated/asm/kdebug.h WRAP arch/blackfin/include/generated/asm/kmap_types.h WRAP arch/blackfin/include/generated/asm/kprobes.h WRAP arch/blackfin/include/generated/asm/local.h WRAP arch/blackfin/include/generated/asm/local64.h WRAP arch/blackfin/include/generated/asm/mcs_spinlock.h WRAP arch/blackfin/include/generated/asm/mm-arch-hooks.h WRAP arch/blackfin/include/generated/asm/percpu.h WRAP arch/blackfin/include/generated/asm/pgalloc.h WRAP arch/blackfin/include/generated/asm/preempt.h WRAP arch/blackfin/include/generated/asm/serial.h WRAP arch/blackfin/include/generated/asm/topology.h WRAP arch/blackfin/include/generated/asm/trace_clock.h WRAP arch/blackfin/include/generated/asm/unaligned.h WRAP arch/blackfin/include/generated/asm/user.h WRAP arch/blackfin/include/generated/asm/word-at-a-time.h WRAP arch/blackfin/include/generated/asm/xor.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/kallsyms HOSTCC scripts/conmakehash CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s cc1: error: -mcpu=bf518-0.1 has invalid silicon revision cc1: error: unrecognized command line option '-mcpu=bf518-0.1' /home/kisskb/slave/src/scripts/Makefile.build:314: recipe for target 'scripts/mod/empty.o' failed make[3]: *** [scripts/mod/empty.o] Error 1 make[3]: *** Waiting for unfinished jobs.... cc1: error: -mcpu=bf518-0.1 has invalid silicon revision cc1: error: unrecognized command line option '-mcpu=bf518-0.1' /home/kisskb/slave/src/scripts/Makefile.build:155: recipe for target 'scripts/mod/devicetable-offsets.s' failed make[3]: *** [scripts/mod/devicetable-offsets.s] Error 1 /home/kisskb/slave/src/scripts/Makefile.build:573: recipe for target 'scripts/mod' failed make[2]: *** [scripts/mod] Error 2 make[2]: *** Waiting for unfinished jobs.... /home/kisskb/slave/src/Makefile:562: recipe for target 'scripts' failed make[1]: *** [scripts] Error 2 make[1]: Leaving directory '/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 48 ARCH=blackfin O=/home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/bfin-uclinux/bin/bfin-uclinux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/linus_TCM-BF518_defconfig_bfin # Build took: 0:00:04.230204