# git rev-parse -q --verify a9f675f950a07d5c1dbcbb97aabac56f5ed085e3^{commit} a9f675f950a07d5c1dbcbb97aabac56f5ed085e3 already have revision, skipping fetch # git checkout -q -f -B kisskb a9f675f950a07d5c1dbcbb97aabac56f5ed085e3 # git clean -qxdf # < git log -1 # commit a9f675f950a07d5c1dbcbb97aabac56f5ed085e3 # Author: Milton Miller # Date: Thu Jul 16 09:37:04 2020 +1000 # # powerpc/vdso: Fix vdso cpu truncation # # The code in vdso_cpu_init that exposes the cpu and numa node to # userspace via SPRG_VDSO incorrctly masks the cpu to 12 bits. This means # that any kernel running on a box with more than 4096 threads (NR_CPUS # advertises a limit of of 8192 cpus) would expose userspace to two cpu # contexts running at the same time with the same cpu number. # # Note: I'm not aware of any distro shipping a kernel with support for more # than 4096 threads today, nor of any system image that currently exceeds # 4096 threads. Found via code browsing. # # Fixes: 18ad51dd342a7eb09dbcd059d0b451b616d4dafc ("powerpc: Add VDSO version of getcpu") # Signed-off-by: Milton Miller # Signed-off-by: Anton Blanchard # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20200715233704.1352257-1-anton@ozlabs.org # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 a9f675f950a07d5c1dbcbb97aabac56f5ed085e3 # < make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig KCONFIG_SEED=0x791FC324 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=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_LD_HEAD_STUB_CATCH=y # Added to kconfig CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # < make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:4281:warning: override: reassigning to symbol PPC_DISABLE_WERROR .config:4283:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:4286:warning: override: reassigning to symbol LD_HEAD_STUB_CATCH # make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/platforms/cell/spufs/sched.c:1061:12: warning: 'show_spu_loadavg' defined but not used [-Wunused-function] static int show_spu_loadavg(struct seq_file *s, void *private) ^ /kisskb/src/arch/powerpc/kernel/eeh.c:1707:12: warning: 'proc_eeh_show' defined but not used [-Wunused-function] static int proc_eeh_show(struct seq_file *m, void *v) ^ Segmentation fault (core dumped) make[1]: *** [/kisskb/src/Makefile:1139: vmlinux] Error 139 make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 24 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc4.9 # Build took: 0:04:06.208408