crypto: arm/aes update NEON AES module to latest OpenSSL version
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 26 Feb 2015 07:22:05 +0000 (07:22 +0000)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 28 Mar 2015 14:03:36 +0000 (10:03 -0400)
commit73a115c5406d04de7597a5d4a21a883e6596ee1b
tree07be9d46551c9e36bb5a4b70386bdbbb1f146f63
parent1cd3d374b25ba7e9934be66781ff7fc4513a2b09
crypto: arm/aes update NEON AES module to latest OpenSSL version

[ Upstream commit 001eabfd54c0cbf9d7d16264ddc8cc0bee67e3ed ]

This updates the bit sliced AES module to the latest version in the
upstream OpenSSL repository (e620e5ae37bc). This is needed to fix a
bug in the XTS decryption path, where data chunked in a certain way
could trigger the ciphertext stealing code, which is not supposed to
be active in the kernel build (The kernel implementation of XTS only
supports round multiples of the AES block size of 16 bytes, whereas
the conformant OpenSSL implementation of XTS supports inputs of
arbitrary size by applying ciphertext stealing). This is fixed in
the upstream version by adding the missing #ifndef XTS_CHAIN_TWEAK
around the offending instructions.

The upstream code also contains the change applied by Russell to
build the code unconditionally, i.e., even if __LINUX_ARM_ARCH__ < 7,
but implemented slightly differently.

Cc: stable@vger.kernel.org
Fixes: e4e7f10bfc40 ("ARM: add support for bit sliced AES using NEON instructions")
Reported-by: Adrian Kotelba <adrian.kotelba@gmail.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Milan Broz <gmazyland@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/arm/crypto/aesbs-core.S_shipped
arch/arm/crypto/bsaes-armv7.pl