# 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/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 7b4ea9456dd3f73238408126ab00f1d906963d81 # < make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- randconfig KCONFIG_SEED=0xDEB7C50 # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # < make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig .config:6724:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD # make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) Error: /kisskb/src/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:313.15-16 syntax error FATAL ERROR: Unable to parse input tree make[3]: *** [scripts/Makefile.lib:314: arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dtb] Error 1 make[3]: *** Waiting for unfinished jobs.... Error: /kisskb/src/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:313.15-16 syntax error FATAL ERROR: Unable to parse input tree make[3]: *** [scripts/Makefile.lib:314: arch/arm64/boot/dts/intel/socfpga_agilex_socdk_nand.dtb] Error 1 make[2]: *** [/kisskb/src/scripts/Makefile.build:497: arch/arm64/boot/dts/intel] Error 2 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #address-cells (1) differs from / (2) /kisskb/src/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi:7.3-14: Warning (dma_ranges_format): /usb:dma-ranges: empty "dma-ranges" property but its #size-cells (1) differs from / (2) make[1]: *** [/kisskb/src/Makefile:1331: dtbs] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 # Build took: 0:00:10.626710