# git rev-parse -q --verify 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3^{commit} 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3 already have revision, skipping fetch # git checkout -q -f -B kisskb 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3 # git clean -qxdf # < git log -1 # commit 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3 # Author: Lukas Bulwahn # Date: Sun Aug 22 12:31:07 2021 +0200 # # crypto: sha512 - remove imaginary and mystifying clearing of variables # # The function sha512_transform() assigns all local variables to 0 before # returning to its caller with the intent to erase sensitive data. # # However, make clang-analyzer warns that all these assignments are dead # stores, and as commit 7a4295f6c9d5 ("crypto: lib/sha256 - Don't clear # temporary variables") already points out for sha256_transform(): # # The assignments to clear a through h and t1/t2 are optimized out by the # compiler because they are unused after the assignments. # # Clearing individual scalar variables is unlikely to be useful, as they # may have been assigned to registers, and even if stack spilling was # required, there may be compiler-generated temporaries that are # impossible to clear in any case. # # This applies here again as well. Drop meaningless clearing of local # variables and avoid this way that the code suggests that data is erased, # which simply does not happen. # # Signed-off-by: Lukas Bulwahn # Reviewed-by: Nick Desaulniers # Signed-off-by: Herbert Xu # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3 # < make -s -j 48 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- allnoconfig # < make -s -j 48 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 48 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 48 ARCH=x86_64 O=/kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/crypto_x86_64-allnoconfig_x86_64-gcc11 # Build took: 0:00:36.358627