# 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-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 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3 # < make -s -j 32 ARCH=powerpc O=/kisskb/build/crypto_ppc64_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64_defconfig # < make -s -j 32 ARCH=powerpc O=/kisskb/build/crypto_ppc64_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 32 ARCH=powerpc O=/kisskb/build/crypto_ppc64_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 32 ARCH=powerpc O=/kisskb/build/crypto_ppc64_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/net/sched/sch_frag.c: In function 'sch_fragment': /kisskb/src/net/sched/sch_frag.c:93:10: warning: missing braces around initializer [-Wmissing-braces] struct rtable sch_frag_rt = { 0 }; ^ /kisskb/src/net/sched/sch_frag.c:93:10: warning: (near initialization for 'sch_frag_rt.dst') [-Wmissing-braces] /kisskb/src/drivers/net/ethernet/chelsio/cxgb4/sge.c: In function 'cxgb4_write_partial_sgl': /kisskb/src/drivers/net/ethernet/chelsio/cxgb4/sge.c:910:9: warning: missing braces around initializer [-Wmissing-braces] struct ulptx_sge_pair buf[MAX_SKB_FRAGS / 2 + 1] = {0}, *to; ^ /kisskb/src/drivers/net/ethernet/chelsio/cxgb4/sge.c:910:9: warning: (near initialization for 'buf[0]') [-Wmissing-braces] /kisskb/src/fs/btrfs/tree-checker.c: In function 'check_root_item': /kisskb/src/fs/btrfs/tree-checker.c:1071:9: warning: missing braces around initializer [-Wmissing-braces] struct btrfs_root_item ri = { 0 }; ^ /kisskb/src/fs/btrfs/tree-checker.c:1071:9: warning: (near initialization for 'ri.inode') [-Wmissing-braces] Completed OK # rm -rf /kisskb/build/crypto_ppc64_defconfig_powerpc-gcc4.9 # Build took: 0:02:13.661415