# git rev-parse -q --verify 7b4ea9456dd3f73238408126ab00f1d906963d81^{commit} 7b4ea9456dd3f73238408126ab00f1d906963d81 already have revision, skipping fetch # git checkout -q -f -B kisskb 7b4ea9456dd3f73238408126ab00f1d906963d81 # git clean -qxdf # < git log -1 # commit 7b4ea9456dd3f73238408126ab00f1d906963d81 # Author: Linus Torvalds # Date: Thu Aug 6 12:02:58 2020 -0700 # # Revert "x86/mm/64: Do not sync vmalloc/ioremap mappings" # # This reverts commit 8bb9bf242d1fee925636353807c511d54fde8986. # # It seems the vmalloc page tables aren't always preallocated in all # situations, because Jason Donenfeld reports an oops with this commit: # # BUG: unable to handle page fault for address: ffffe8ffffd00608 # #PF: supervisor read access in kernel mode # #PF: error_code(0x0000) - not-present page # PGD 0 P4D 0 # Oops: 0000 [#1] PREEMPT SMP # CPU: 2 PID: 22 Comm: kworker/2:0 Not tainted 5.8.0+ #154 # RIP: process_one_work+0x2c/0x2d0 # Code: 41 56 41 55 41 54 55 48 89 f5 53 48 89 fb 48 83 ec 08 48 8b 06 4c 8b 67 40 49 89 c6 45 30 f6 a8 04 b8 00 00 00 00 4c 0f 44 f0 <49> 8b 46 08 44 8b a8 00 01 05 # Call Trace: # worker_thread+0x4b/0x3b0 # ? rescuer_thread+0x360/0x360 # kthread+0x116/0x140 # ? __kthread_create_worker+0x110/0x110 # ret_from_fork+0x1f/0x30 # CR2: ffffe8ffffd00608 # # and that page fault address is right in that vmalloc space, and we # clearly don't have a PGD/P4D entry for it. # # Looking at the "Code:" line, the actual fault seems to come from the # 'pwq->wq' dereference at the top of the process_one_work() function: # # struct pool_workqueue *pwq = get_work_pwq(work); # struct worker_pool *pool = worker->pool; # bool cpu_intensive = pwq->wq->flags & WQ_CPU_INTENSIVE; # # so 'struct pool_workqueue *pwq' is the allocation that hasn't been # synchronized across CPUs. # # Just revert for now, while Joerg figures out the cause. # # Reported-and-bisected-by: Jason A. Donenfeld # Acked-by: Ingo Molnar # Acked-by: Joerg Roedel # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 7b4ea9456dd3f73238408126ab00f1d906963d81 # < make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig KCONFIG_SEED=0x43458AF7 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # < make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:5270:warning: override: reassigning to symbol STANDALONE # make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- /bin/sh: 1: zstd: not found cat: write error: Broken pipe make[3]: *** [/kisskb/src/arch/x86/boot/compressed/Makefile:150: arch/x86/boot/compressed/vmlinux.bin.zst] Error 127 make[3]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.bin.zst' make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/arch/x86/boot/Makefile:115: arch/x86/boot/compressed/vmlinux] Error 2 make[1]: *** [arch/x86/Makefile:265: bzImage] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 48 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 # Build took: 0:03:55.317655