# git rev-parse -q --verify 0e14ef38669ce4faa80589247fe8ed8a3780f414^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/crypto master # git rev-parse -q --verify 0e14ef38669ce4faa80589247fe8ed8a3780f414^{commit} 0e14ef38669ce4faa80589247fe8ed8a3780f414 # git checkout -q -f -B kisskb 0e14ef38669ce4faa80589247fe8ed8a3780f414 # git clean -qxdf # < git log -1 # commit 0e14ef38669ce4faa80589247fe8ed8a3780f414 # Author: Josh Poimboeuf # Date: Tue Sep 21 22:40:26 2021 -0700 # # crypto: x86/sm4 - Fix frame pointer stack corruption # # sm4_aesni_avx_crypt8() sets up the frame pointer (which includes pushing # RBP) before doing a conditional sibling call to sm4_aesni_avx_crypt4(), # which sets up an additional frame pointer. Things will not go well when # sm4_aesni_avx_crypt4() pops only the innermost single frame pointer and # then tries to return to the outermost frame pointer. # # Sibling calls need to occur with an empty stack frame. Do the # conditional sibling call *before* setting up the stack pointer. # # This fixes the following warning: # # arch/x86/crypto/sm4-aesni-avx-asm_64.o: warning: objtool: sm4_aesni_avx_crypt8()+0x8: sibling call from callable instruction with modified stack frame # # Fixes: a7ee22ee1445 ("crypto: x86/sm4 - add AES-NI/AVX/x86_64 implementation") # Reported-by: kernel test robot # Reported-by: Arnd Bergmann # Acked-by: Peter Zijlstra (Intel) # Reviewed-by: Tianjia Zhang # Signed-off-by: Josh Poimboeuf # Signed-off-by: Herbert Xu # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 0e14ef38669ce4faa80589247fe8ed8a3780f414 # < make -s -j 24 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- allnoconfig # < make -s -j 24 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 24 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 24 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc8 # Build took: 0:00:54.819618