diff options
author | Eric Biggers <ebiggers@google.com> | 2019-03-31 23:04:19 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-04-08 09:42:55 +0300 |
commit | c5c46887cfe7d0dff743d9eda7c91de625e96960 (patch) | |
tree | 668913b19acf6a31a5a2a19024c96c942528be00 /include/crypto | |
parent | 5e27f38f1f3f45a0c938299c3a34a2d2db77165a (diff) | |
download | linux-c5c46887cfe7d0dff743d9eda7c91de625e96960.tar.xz |
crypto: streebog - fix unaligned memory accesses
Don't cast the data buffer directly to streebog_uint512, as this
violates alignment rules.
Fixes: fe18957e8e87 ("crypto: streebog - add Streebog hash function")
Cc: Vitaly Chikunov <vt@altlinux.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Vitaly Chikunov <vt@altlinux.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/crypto')
-rw-r--r-- | include/crypto/streebog.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/crypto/streebog.h b/include/crypto/streebog.h index 856e32af8657..cae1b4a01971 100644 --- a/include/crypto/streebog.h +++ b/include/crypto/streebog.h @@ -23,7 +23,10 @@ struct streebog_uint512 { }; struct streebog_state { - u8 buffer[STREEBOG_BLOCK_SIZE]; + union { + u8 buffer[STREEBOG_BLOCK_SIZE]; + struct streebog_uint512 m; + }; struct streebog_uint512 hash; struct streebog_uint512 h; struct streebog_uint512 N; |