# git rev-parse -q --verify 397758385ba96da48a96f82cf3521f994f3a78b3^{commit} 397758385ba96da48a96f82cf3521f994f3a78b3 already have revision, skipping fetch # git checkout -q -f -B kisskb 397758385ba96da48a96f82cf3521f994f3a78b3 # git clean -qxdf # < git log -1 # commit 397758385ba96da48a96f82cf3521f994f3a78b3 # Author: Michael Ellerman # Date: Tue Jul 10 16:20:56 2018 +1000 # # powerpc/uaccess: Enable get_user(u64, *p) on 32-bit # # Currently if you build a 32-bit powerpc kernel and use get_user() to # load a u64 value it will fail to build with eg: # # kernel/rseq.o: In function `rseq_get_rseq_cs': # kernel/rseq.c:123: undefined reference to `__get_user_bad' # # This is hitting the check in __get_user_size() that makes sure the # size we're copying doesn't exceed the size of the destination: # # #define __get_user_size(x, ptr, size, retval) # do { # retval = 0; # __chk_user_ptr(ptr); # if (size > sizeof(x)) # (x) = __get_user_bad(); # # Which doesn't immediately make sense because the size of the # destination is u64, but it's not really, because __get_user_check() # etc. internally create an unsigned long and copy into that: # # #define __get_user_check(x, ptr, size) # ({ # long __gu_err = -EFAULT; # unsigned long __gu_val = 0; # # The problem being that on 32-bit unsigned long is not big enough to # hold a u64. We can fix this with a trick from hpa in the x86 code, we # statically check the type of x and set the type of __gu_val to either # unsigned long or unsigned long long. # # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 397758385ba96da48a96f82cf3521f994f3a78b3 # < make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- randconfig KCONFIG_SEED=0x861DB5BF WARNING: unmet direct dependencies detected for LEDS_TRIGGER_DISK Depends on [n]: NEW_LEDS [=y] && (IDE_GD_ATA [=n] || ATA [=n]) && LEDS_TRIGGERS [=y] Selected by [y]: - ADB_PMU_LED_DISK [=y] && MACINTOSH_DRIVERS [=y] && ADB_PMU_LED [=y] && LEDS_CLASS [=y] # 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 # yes \n | make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- WARNING: unmet direct dependencies detected for LEDS_TRIGGER_DISK Depends on [n]: NEW_LEDS [=y] && (IDE_GD_ATA [=n] || ATA [=n]) && LEDS_TRIGGERS [=y] Selected by [y]: - ADB_PMU_LED_DISK [=y] && MACINTOSH_DRIVERS [=y] && ADB_PMU_LED [=y] && LEDS_CLASS [=y] WARNING: unmet direct dependencies detected for LEDS_TRIGGER_DISK Depends on [n]: NEW_LEDS [=y] && (IDE_GD_ATA [=n] || ATA [=n]) && LEDS_TRIGGERS [=y] Selected by [y]: - ADB_PMU_LED_DISK [=y] && MACINTOSH_DRIVERS [=y] && ADB_PMU_LED [=y] && LEDS_CLASS [=y] /kisskb/src/arch/powerpc/kvm/book3s_hv.c: In function 'kvmppc_run_core': /kisskb/src/arch/powerpc/kvm/book3s_hv.c:2997:2: error: implicit declaration of function 'this_cpu_disable_ftrace' [-Werror=implicit-function-declaration] /kisskb/src/arch/powerpc/kvm/book3s_hv.c:3001:2: error: implicit declaration of function 'this_cpu_enable_ftrace' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors /kisskb/src/scripts/Makefile.build:317: recipe for target 'arch/powerpc/kvm/book3s_hv.o' failed make[2]: *** [arch/powerpc/kvm/book3s_hv.o] Error 1 /kisskb/src/Makefile:1034: recipe for target 'arch/powerpc/kvm' failed make[1]: *** [arch/powerpc/kvm] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1256:20: warning: 'root' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc # Build took: 0:00:22.044796