# git rev-parse -q --verify 1936f094e164cc13ebf17aba1d6b34e033e64188^{commit} 1936f094e164cc13ebf17aba1d6b34e033e64188 already have revision, skipping fetch # git checkout -q -f -B kisskb 1936f094e164cc13ebf17aba1d6b34e033e64188 # git clean -qxdf # < git log -1 # commit 1936f094e164cc13ebf17aba1d6b34e033e64188 # Author: Naveen N. Rao # Date: Wed Oct 31 22:48:13 2018 +0530 # # selftests/powerpc: Fix compilation issue due to asm label # # We are using 'dscr_insn' as a label in inline asm to identify if a # SIGILL was generated by the mtspr instruction at that point. However, # with inline assembly, the compiler is still free to duplicate the asm # statement for optimization purposes, which results in the label being # defined twice with the error: # /tmp/ccerQCql.s:874: Error: symbol `dscr_insn' is already defined # # With different compiler versions, we may also see: # /tmp/ccJzLDlN.o:(.toc+0x0): undefined reference to `dscr_insn' # # Remove the use of the label in the inline assembly. Instead, just look # for the offending instruction in the signal handler. # # Fixes: d2bf793237b3 ("selftests/powerpc: Add test to verify rfi flush across a system call") # Reported-by: Breno Leitao # Signed-off-by: Naveen N. Rao # Tested-by: Breno Leitao # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 1936f094e164cc13ebf17aba1d6b34e033e64188 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc6xx_defconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/arch/powerpc/kernel/ptrace.c:24: In function 'user_regset_copyin', inlined from 'vr_set' at /kisskb/src/arch/powerpc/kernel/ptrace.c:619:9: /kisskb/src/include/linux/regset.h:295:4: error: 'memcpy' offset [-527, -529] is out of the bounds [0, 16] of object 'vrsave' with type 'union ' [-Werror=array-bounds] memcpy(data, *kbuf, copy); ^~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/powerpc/kernel/ptrace.c: In function 'vr_set': /kisskb/src/arch/powerpc/kernel/ptrace.c:614:5: note: 'vrsave' declared here } vrsave; ^~~~~~ In file included from /kisskb/src/arch/powerpc/kernel/ptrace.c:24: In function 'user_regset_copyout', inlined from 'vr_get' at /kisskb/src/arch/powerpc/kernel/ptrace.c:572:9: /kisskb/src/include/linux/regset.h:270:4: error: 'memcpy' offset [-527, -529] is out of the bounds [0, 16] of object 'vrsave' with type 'union ' [-Werror=array-bounds] memcpy(*kbuf, data, copy); ^~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/powerpc/kernel/ptrace.c: In function 'vr_get': /kisskb/src/arch/powerpc/kernel/ptrace.c:567:5: note: 'vrsave' declared here } vrsave; ^~~~~~ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:305: arch/powerpc/kernel/ptrace.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:546: arch/powerpc/kernel] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1060: arch/powerpc] Error 2 make[1]: *** Waiting for unfinished jobs.... In file included from /kisskb/src/sound/ppc/pmac.h:25, from /kisskb/src/sound/ppc/awacs.c:29: /kisskb/src/sound/ppc/awacs.c: In function 'snd_pmac_awacs_init': /kisskb/src/include/sound/control.h:223:9: warning: 'speaker_vol' may be used uninitialized in this function [-Wmaybe-uninitialized] return _snd_ctl_add_slave(master, slave, 0); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/sound/ppc/awacs.c:886:36: note: 'speaker_vol' was declared here struct snd_kcontrol *master_vol, *speaker_vol; ^~~~~~~~~~~ /kisskb/src/net/tipc/topsrv.c: In function 'tipc_topsrv_start': /kisskb/src/net/tipc/topsrv.c:660:2: warning: 'strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(srv->name, name, strlen(name) + 1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/net/tipc/topsrv.c:660:27: note: length computed here strncpy(srv->name, name, strlen(name) + 1); ^~~~~~~~~~~~ make: *** [Makefile:146: sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc8 # Build took: 0:03:14.039275