diff options
author | Ingo Molnar <mingo@kernel.org> | 2020-05-25 15:10:37 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2020-05-25 15:10:37 +0200 |
commit | a5d8e55b2c7d3d18d7837af0ef8d1477eeeb919c (patch) | |
tree | fe07d3af2f6f13d005da832fe3d18d5d257fb9bd /arch/arm64/crypto/chacha-neon-glue.c | |
parent | 4da0b2b7e67524cc206067865666899bc02e1cb0 (diff) | |
parent | 9cb1fd0efd195590b828b9b865421ad345a4a145 (diff) |
Merge tag 'v5.7-rc7' into efi/core, to refresh the branch and pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm64/crypto/chacha-neon-glue.c')
-rw-r--r-- | arch/arm64/crypto/chacha-neon-glue.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/arch/arm64/crypto/chacha-neon-glue.c b/arch/arm64/crypto/chacha-neon-glue.c index 37ca3e889848..af2bbca38e70 100644 --- a/arch/arm64/crypto/chacha-neon-glue.c +++ b/arch/arm64/crypto/chacha-neon-glue.c @@ -87,9 +87,17 @@ void chacha_crypt_arch(u32 *state, u8 *dst, const u8 *src, unsigned int bytes, !crypto_simd_usable()) return chacha_crypt_generic(state, dst, src, bytes, nrounds); - kernel_neon_begin(); - chacha_doneon(state, dst, src, bytes, nrounds); - kernel_neon_end(); + do { + unsigned int todo = min_t(unsigned int, bytes, SZ_4K); + + kernel_neon_begin(); + chacha_doneon(state, dst, src, todo, nrounds); + kernel_neon_end(); + + bytes -= todo; + src += todo; + dst += todo; + } while (bytes); } EXPORT_SYMBOL(chacha_crypt_arch); |