diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-05-11 09:17:15 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-05-11 09:17:15 +0200 |
commit | dd92b0133a78457e909da1d5916a05c342a897d6 (patch) | |
tree | 1235c44f161872bba490d5e7ea20286f544b820c /arch/x86/crypto/chacha_glue.c | |
parent | 378c1ee2227f67d4dbb748ff5193c959d5299095 (diff) | |
parent | 2ef96a5bb12be62ef75b5828c0aab838ebb29cb8 (diff) | |
download | linux-dd92b0133a78457e909da1d5916a05c342a897d6.tar.gz |
Merge 5.7-rc5 into char-misc-next
We want the char-misc fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/crypto/chacha_glue.c')
-rw-r--r-- | arch/x86/crypto/chacha_glue.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/arch/x86/crypto/chacha_glue.c b/arch/x86/crypto/chacha_glue.c index b412c21ee06e..22250091cdbe 100644 --- a/arch/x86/crypto/chacha_glue.c +++ b/arch/x86/crypto/chacha_glue.c @@ -153,9 +153,17 @@ void chacha_crypt_arch(u32 *state, u8 *dst, const u8 *src, unsigned int bytes, bytes <= CHACHA_BLOCK_SIZE) return chacha_crypt_generic(state, dst, src, bytes, nrounds); - kernel_fpu_begin(); - chacha_dosimd(state, dst, src, bytes, nrounds); - kernel_fpu_end(); + do { + unsigned int todo = min_t(unsigned int, bytes, SZ_4K); + + kernel_fpu_begin(); + chacha_dosimd(state, dst, src, todo, nrounds); + kernel_fpu_end(); + + bytes -= todo; + src += todo; + dst += todo; + } while (bytes); } EXPORT_SYMBOL(chacha_crypt_arch); |