]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit - crypto/morus640.c
crypto: morus/generic - fix for big endian systems
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 1 Oct 2018 08:36:37 +0000 (10:36 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 8 Oct 2018 05:44:53 +0000 (13:44 +0800)
commit5a8dedfa3276e88c5865f265195d63d72aec3e72
treecd847d1a7001bb85e18199fe7848a8d454a8b463
parentfd27b571c9f6cf95ddbdf9de7cf0aa8c8cfe8066
crypto: morus/generic - fix for big endian systems

Omit the endian swabbing when folding the lengths of the assoc and
crypt input buffers into the state to finalize the tag. This is not
necessary given that the memory representation of the state is in
machine native endianness already.

This fixes an error reported by tcrypt running on a big endian system:

  alg: aead: Test 2 failed on encryption for morus640-generic
  00000000: a8 30 ef fb e6 26 eb 23 b0 87 dd 98 57 f3 e1 4b
  00000010: 21
  alg: aead: Test 2 failed on encryption for morus1280-generic
  00000000: 88 19 1b fb 1c 29 49 0e ee 82 2f cb 97 a6 a5 ee
  00000010: 5f

Fixes: 396be41f16fd ("crypto: morus - Add generic MORUS AEAD implementations")
Cc: <stable@vger.kernel.org> # v4.18+
Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/morus1280.c
crypto/morus640.c