aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2019-01-10 15:17:58 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2019-01-18 05:43:43 -0500
commitf990f7fb58ac8ac9a43316f09a48cff1a49dda42 (patch)
tree01b8488d7ac36351909a8baf098069ba5465d838 /crypto
parent793ff5ffc105a5962ab4c978d08988e3f8dc93aa (diff)
crypto: tgr192 - fix unaligned memory access
Fix an unaligned memory access in tgr192_transform() by using the unaligned access helpers. Fixes: 06ace7a9bafe ("[CRYPTO] Use standard byte order macros wherever possible") Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/tgr192.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/tgr192.c b/crypto/tgr192.c
index 022d3dd76c3b..f8e1d9f9938f 100644
--- a/crypto/tgr192.c
+++ b/crypto/tgr192.c
@@ -25,8 +25,9 @@
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/module.h> 26#include <linux/module.h>
27#include <linux/mm.h> 27#include <linux/mm.h>
28#include <asm/byteorder.h>
29#include <linux/types.h> 28#include <linux/types.h>
29#include <asm/byteorder.h>
30#include <asm/unaligned.h>
30 31
31#define TGR192_DIGEST_SIZE 24 32#define TGR192_DIGEST_SIZE 24
32#define TGR160_DIGEST_SIZE 20 33#define TGR160_DIGEST_SIZE 20
@@ -468,10 +469,9 @@ static void tgr192_transform(struct tgr192_ctx *tctx, const u8 * data)
468 u64 a, b, c, aa, bb, cc; 469 u64 a, b, c, aa, bb, cc;
469 u64 x[8]; 470 u64 x[8];
470 int i; 471 int i;
471 const __le64 *ptr = (const __le64 *)data;
472 472
473 for (i = 0; i < 8; i++) 473 for (i = 0; i < 8; i++)
474 x[i] = le64_to_cpu(ptr[i]); 474 x[i] = get_unaligned_le64(data + i * sizeof(__le64));
475 475
476 /* save */ 476 /* save */
477 a = aa = tctx->a; 477 a = aa = tctx->a;