From be34c4ef693ff5c10f55606dbd656ddf0b4a8340 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 2 Oct 2014 14:52:37 +0800 Subject: crypto: sha - Handle unaligned input data in generic sha256 and sha512. Like SHA1, use get_unaligned_be*() on the raw input data. Reported-by: Bob Picco Signed-off-by: David S. Miller Signed-off-by: Herbert Xu --- crypto/sha256_generic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'crypto/sha256_generic.c') diff --git a/crypto/sha256_generic.c b/crypto/sha256_generic.c index 543366779524..0bb558344699 100644 --- a/crypto/sha256_generic.c +++ b/crypto/sha256_generic.c @@ -24,6 +24,7 @@ #include #include #include +#include static inline u32 Ch(u32 x, u32 y, u32 z) { @@ -42,7 +43,7 @@ static inline u32 Maj(u32 x, u32 y, u32 z) static inline void LOAD_OP(int I, u32 *W, const u8 *input) { - W[I] = __be32_to_cpu( ((__be32*)(input))[I] ); + W[I] = get_unaligned_be32((__u32 *)input + I); } static inline void BLEND_OP(int I, u32 *W) -- cgit v1.2.3-59-g8ed1b