summaryrefslogtreecommitdiff
path: root/lib/crypto/arm/poly1305.h
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2025-10-01 13:29:23 +0200
committerArd Biesheuvel <ardb@kernel.org>2025-11-12 09:51:13 +0100
commitf53d18a4e67eacf665e9d60727d508387f84327b (patch)
tree94fbda6d3ab2c319d07158593c5b9fcac4e504c6 /lib/crypto/arm/poly1305.h
parent814f5415d3e3084eeb0550acdee5eca8b4966055 (diff)
lib/crypto: Switch ARM and arm64 to 'ksimd' scoped guard API
Before modifying the prototypes of kernel_neon_begin() and kernel_neon_end() to accommodate kernel mode FP/SIMD state buffers allocated on the stack, move arm64 to the new 'ksimd' scoped guard API, which encapsulates the calls to those functions. For symmetry, do the same for 32-bit ARM too. Reviewed-by: Eric Biggers <ebiggers@kernel.org> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'lib/crypto/arm/poly1305.h')
-rw-r--r--lib/crypto/arm/poly1305.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/crypto/arm/poly1305.h b/lib/crypto/arm/poly1305.h
index 0021cf368307..0fe903d8de55 100644
--- a/lib/crypto/arm/poly1305.h
+++ b/lib/crypto/arm/poly1305.h
@@ -6,7 +6,6 @@
*/
#include <asm/hwcap.h>
-#include <asm/neon.h>
#include <asm/simd.h>
#include <linux/cpufeature.h>
#include <linux/jump_label.h>
@@ -32,9 +31,8 @@ static void poly1305_blocks(struct poly1305_block_state *state, const u8 *src,
do {
unsigned int todo = min_t(unsigned int, len, SZ_4K);
- kernel_neon_begin();
- poly1305_blocks_neon(state, src, todo, padbit);
- kernel_neon_end();
+ scoped_ksimd()
+ poly1305_blocks_neon(state, src, todo, padbit);
len -= todo;
src += todo;