From: Ard Biesheuvel <ardb+git@google.com>
To: linux-arm-kernel@lists.infradead.org
Cc: catalin.marinas@arm.com, ebiggers@kernel.org,
Ard Biesheuvel <ardb@kernel.org>
Subject: [GIT PULL] libcrypto/arm64: Move kernel mode FP/SIMD buffer to the stack
Date: Wed, 12 Nov 2025 10:32:13 +0100 [thread overview]
Message-ID: <20251112093212.2392848-2-ardb+git@google.com> (raw)
From: Ard Biesheuvel <ardb@kernel.org>
Hi Eric,
(cc Catalin)
I have prepared a branch for libcrypto-next containing all the arm64 FP/SIMD
changes that are needed to move the kernel mode FP/SIMD buffers to the stack.
I have created two stable tags [a] and [b] in my tree at [0], containing the
changes as sent to and reviewed on the list, reordered to accommodate the task
of merging this into libcrypto-next in a bisectable manner.
[a] scoped-ksimd-for-arm-arm64
[b] arm64-fpsimd-on-stack-for-v6.19
On top of [a], two additional lib/crypto patches have been applied to update
code that has already been queued up in libcrypto-next, moving it to the new
scoped ksimd API as well. This is better than hiding the changes in a merge
commit. The merge still resulted in a conflict on the old versions of the files
that were moved, but this is resolved by simply deleting them.
Please pull. Or alternatively, if you prefer, recreate the following sequence
directly on top of libcrypto-next (and resolve the conflict)
Merge tag 'ardb/scoped-ksimd-for-arm-arm64'
lib/crypto: arm/blake2b: Move to scoped ksimd API
lib/crypto: arm64: Move remaining algorithms to scoped ksimd API
Merge tag 'arm64-fpsimd-on-stack-for-v6.19' into arm64-fpsimd-on-stack-for-libcrypto
The following changes since commit f101371e1972df3d897bf2326eda3c28aca2e58c:
Merge remote-tracking branch 'ebiggers/libcrypto-aes-gcm' into libcrypto-next (2025-11-11 11:08:57 -0800)
are available in the Git repository at:
[0] git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git arm64-fpsimd-on-stack-for-libcrypto
for you to fetch changes up to 82ef0a6ac77cc0eaca1b5c2fc3436b18cda6ef83:
Merge tag 'arm64-fpsimd-on-stack-for-v6.19' into arm64-fpsimd-on-stack-for-libcrypto (2025-11-12 10:08:20 +0100)
----------------------------------------------------------------
Ard Biesheuvel (25):
arm64/simd: Add scoped guard API for kernel mode SIMD
ARM/simd: Add scoped guard API for kernel mode SIMD
[a] lib/crypto: Switch ARM and arm64 to 'ksimd' scoped guard API
lib/crc: Switch ARM and arm64 to 'ksimd' scoped guard API
crypto/arm64: aes-ce-ccm - Avoid pointless yield of the NEON unit
crypto/arm64: sm4-ce-ccm - Avoid pointless yield of the NEON unit
crypto/arm64: sm4-ce-gcm - Avoid pointless yield of the NEON unit
crypto: aegis128-neon - Move to more abstract 'ksimd' guard API
raid6: Move to more abstract 'ksimd' guard API
crypto/arm64: aes-ccm - Switch to 'ksimd' scoped guard API
crypto/arm64: aes-blk - Switch to 'ksimd' scoped guard API
crypto/arm64: aes-gcm - Switch to 'ksimd' scoped guard API
crypto/arm64: nhpoly1305 - Switch to 'ksimd' scoped guard API
crypto/arm64: polyval - Switch to 'ksimd' scoped guard API
crypto/arm64: sha3 - Switch to 'ksimd' scoped guard API
crypto/arm64: sm3 - Switch to 'ksimd' scoped guard API
crypto/arm64: sm4 - Switch to 'ksimd' scoped guard API
arm64/xorblocks: Switch to 'ksimd' scoped guard API
net/mlx5: Switch to more abstract scoped ksimd guard API on arm64
arm64/fpu: Enforce task-context only for generic kernel mode FPU
[b] arm64/fpsimd: Allocate kernel mode FP/SIMD buffers on the stack
Merge tag 'ardb/scoped-ksimd-for-arm-arm64'
lib/crypto: arm/blake2b: Move to scoped ksimd API
lib/crypto: arm64: Move remaining algorithms to scoped ksimd API
Merge tag 'arm64-fpsimd-on-stack-for-v6.19' into arm64-fpsimd-on-stack-for-libcrypto
arch/arm/include/asm/simd.h | 7 +
arch/arm64/crypto/aes-ce-ccm-glue.c | 116 +++++++--------
arch/arm64/crypto/aes-ce-glue.c | 87 ++++++-----
arch/arm64/crypto/aes-glue.c | 139 ++++++++---------
arch/arm64/crypto/aes-neonbs-glue.c | 150 +++++++++----------
arch/arm64/crypto/ghash-ce-glue.c | 27 ++--
arch/arm64/crypto/nhpoly1305-neon-glue.c | 5 +-
arch/arm64/crypto/sm3-ce-glue.c | 15 +-
arch/arm64/crypto/sm3-neon-glue.c | 16 +-
arch/arm64/crypto/sm4-ce-ccm-glue.c | 49 ++----
arch/arm64/crypto/sm4-ce-cipher-glue.c | 10 +-
arch/arm64/crypto/sm4-ce-gcm-glue.c | 62 +++-----
arch/arm64/crypto/sm4-ce-glue.c | 214 ++++++++++++---------------
arch/arm64/crypto/sm4-neon-glue.c | 25 +---
arch/arm64/include/asm/fpu.h | 16 +-
arch/arm64/include/asm/neon.h | 4 +-
arch/arm64/include/asm/processor.h | 7 +-
arch/arm64/include/asm/simd.h | 10 ++
arch/arm64/include/asm/xor.h | 22 ++-
arch/arm64/kernel/fpsimd.c | 54 +++++--
crypto/aegis128-neon.c | 33 ++---
drivers/net/ethernet/mellanox/mlx5/core/wc.c | 19 +--
lib/crc/arm/crc-t10dif.h | 19 +--
lib/crc/arm/crc32.h | 11 +-
lib/crc/arm64/crc-t10dif.h | 19 +--
lib/crc/arm64/crc32.h | 16 +-
lib/crypto/arm/blake2b.h | 5 +-
lib/crypto/arm/chacha.h | 11 +-
lib/crypto/arm/curve25519.h | 5 +-
lib/crypto/arm/poly1305.h | 6 +-
lib/crypto/arm/sha1.h | 13 +-
lib/crypto/arm/sha256.h | 12 +-
lib/crypto/arm/sha512.h | 5 +-
lib/crypto/arm64/chacha.h | 11 +-
lib/crypto/arm64/poly1305.h | 6 +-
lib/crypto/arm64/polyval.h | 23 ++-
lib/crypto/arm64/sha1.h | 7 +-
lib/crypto/arm64/sha256.h | 19 +--
lib/crypto/arm64/sha3.h | 13 +-
lib/crypto/arm64/sha512.h | 8 +-
lib/raid6/neon.c | 17 +--
lib/raid6/recov_neon.c | 15 +-
42 files changed, 616 insertions(+), 712 deletions(-)
next reply other threads:[~2025-11-12 9:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-12 9:32 Ard Biesheuvel [this message]
2025-11-12 20:53 ` [GIT PULL] libcrypto/arm64: Move kernel mode FP/SIMD buffer to the stack Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251112093212.2392848-2-ardb+git@google.com \
--to=ardb+git@google.com \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=ebiggers@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.