crypto: sha512_ssse3 - fix byte count to bit count conversion
Byte-to-bit-count computation is only partly converted to big-endian and is mixing in CPU-endian values. Problem was noticed by sparce with warning: CHECK arch/x86/crypto/sha512_ssse3_glue.c arch/x86/crypto/sha512_ssse3_glue.c:144:19: warning: restricted __be64 degrades to integer arch/x86/crypto/sha512_ssse3_glue.c:144:17: warning: incorrect type in assignment (different base types) arch/x86/crypto/sha512_ssse3_glue.c:144:17: expected restricted __be64 <noident> arch/x86/crypto/sha512_ssse3_glue.c:144:17: got unsigned long long Cc: <stable@vger.kernel.org> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Acked-by: Tim Chen <tim.c.chen@linux.intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
7171511eae
commit
cfe82d4f45
|
@ -141,7 +141,7 @@ static int sha512_ssse3_final(struct shash_desc *desc, u8 *out)
|
||||||
|
|
||||||
/* save number of bits */
|
/* save number of bits */
|
||||||
bits[1] = cpu_to_be64(sctx->count[0] << 3);
|
bits[1] = cpu_to_be64(sctx->count[0] << 3);
|
||||||
bits[0] = cpu_to_be64(sctx->count[1] << 3) | sctx->count[0] >> 61;
|
bits[0] = cpu_to_be64(sctx->count[1] << 3 | sctx->count[0] >> 61);
|
||||||
|
|
||||||
/* Pad out to 112 mod 128 and append length */
|
/* Pad out to 112 mod 128 and append length */
|
||||||
index = sctx->count[0] & 0x7f;
|
index = sctx->count[0] & 0x7f;
|
||||||
|
|
Loading…
Reference in New Issue