# git rev-parse -q --verify e6037a753e8e9a4146f7d94c32eb30a6717c9c70^{commit} e6037a753e8e9a4146f7d94c32eb30a6717c9c70 already have revision, skipping fetch # git checkout -q -f -B kisskb e6037a753e8e9a4146f7d94c32eb30a6717c9c70 # git clean -qxdf # < git log -1 # commit e6037a753e8e9a4146f7d94c32eb30a6717c9c70 # Author: Jason A. Donenfeld # Date: Thu Oct 15 01:02:09 2020 +0200 # # powerpc32: don't adjust unmoved stack pointer in csum_partial_copy_generic() epilogue # # A recent change to the checksum code removed usage of some extra # arguments, alongside with storage on the stack for those, and the stack # pointer no longer needed to be adjusted in the function prologue. # # But a left over subtraction wasn't removed in the function epilogue, # causing the function to return with the stack pointer moved 16 bytes # away from where it should have. This corrupted local state and lead to # weird crashes. # # This simply removes the leftover instruction from the epilogue. # # Fixes: 70d65cd555c5 ("ppc: propagate the calling conventions change down to csum_partial_copy_generic()") # Cc: Al Viro # Signed-off-by: Jason A. Donenfeld # Signed-off-by: Linus Torvalds # < /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 e6037a753e8e9a4146f7d94c32eb30a6717c9c70 # < make -s -j 24 ARCH=powerpc O=/kisskb/build/linus-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=0x55FA0E1A # 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/linus-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/linus-rand_powerpc-randconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:6153:warning: override: reassigning to symbol STANDALONE .config:6159:warning: override: reassigning to symbol SECTION_MISMATCH_WARN_ONLY .config:6160:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:6163:warning: override: reassigning to symbol LD_HEAD_STUB_CATCH # make -s -j 24 ARCH=powerpc O=/kisskb/build/linus-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/kernel/eeh.c:1639:12: warning: 'proc_eeh_show' defined but not used [-Wunused-function] static int proc_eeh_show(struct seq_file *m, void *v) ^ /kisskb/src/drivers/misc/habanalabs/common/habanalabs_ioctl.c: In function 'cs_counters_info': /kisskb/src/drivers/misc/habanalabs/common/habanalabs_ioctl.c:282:9: warning: missing braces around initializer [-Wmissing-braces] struct hl_info_cs_counters cs_counters = {0}; ^ /kisskb/src/drivers/misc/habanalabs/common/habanalabs_ioctl.c:282:9: warning: (near initialization for 'cs_counters.cs_counters') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aes_cbc_setkey': /kisskb/src/drivers/crypto/sa2ul.c:924:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:924:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aes_ecb_setkey': /kisskb/src/drivers/crypto/sa2ul.c:944:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:944:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_3des_cbc_setkey': /kisskb/src/drivers/crypto/sa2ul.c:962:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:962:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_3des_ecb_setkey': /kisskb/src/drivers/crypto/sa2ul.c:976:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:976:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha1_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1601:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1601:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha256_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1617:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1617:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_sha512_cra_init': /kisskb/src/drivers/crypto/sa2ul.c:1633:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1633:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aead_cbc_sha1_setkey': /kisskb/src/drivers/crypto/sa2ul.c:1862:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1862:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] /kisskb/src/drivers/crypto/sa2ul.c: In function 'sa_aead_cbc_sha256_setkey': /kisskb/src/drivers/crypto/sa2ul.c:1875:9: warning: missing braces around initializer [-Wmissing-braces] struct algo_data ad = { 0 }; ^ /kisskb/src/drivers/crypto/sa2ul.c:1875:9: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces] Completed OK # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc4.9 # Build took: 0:05:18.179635