aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2019-02-14 00:03:54 -0800
committerHerbert Xu <herbert@gondor.apana.org.au>2019-02-22 12:47:27 +0800
commitfa5fd3afc7e64473bd9d417726c046b322ec0696 (patch)
tree5a8dc6b43a84550aa0e94170731e3db7c2a11335 /arch/arm64
parentcrypto: testmgr - add iv_out to all CTR test vectors (diff)
downloadlinux-dev-fa5fd3afc7e64473bd9d417726c046b322ec0696.tar.xz
linux-dev-fa5fd3afc7e64473bd9d417726c046b322ec0696.zip
crypto: arm64/aes-blk - update IV after partial final CTR block
Make the arm64 ctr-aes-neon and ctr-aes-ce algorithms update the IV buffer to contain the next counter after processing a partial final block, rather than leave it as the last counter. This makes these algorithms pass the updated AES-CTR tests. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/crypto/aes-modes.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm64/crypto/aes-modes.S b/arch/arm64/crypto/aes-modes.S
index 67700045a0e0..4c7ce231963c 100644
--- a/arch/arm64/crypto/aes-modes.S
+++ b/arch/arm64/crypto/aes-modes.S
@@ -320,8 +320,7 @@ AES_ENTRY(aes_ctr_encrypt)
.Lctrtailblock:
st1 {v0.16b}, [x0]
- ldp x29, x30, [sp], #16
- ret
+ b .Lctrout
.Lctrcarry:
umov x7, v4.d[0] /* load upper word of ctr */