This series is targeting net-next because it depends on
"net/tcp: Remove tcp_sigpool". So far no commits in cryptodev conflict
with this, so I suggest that this be taken through net-next for 7.2.
This series removes support for transformation cloning from the crypto
API. Now that the TCP-AO and TCP-MD5 code no longer uses it, it no
longer has a user. And it's unlikely that a new one will appear, as the
library API solves the problem in a much simpler and more efficient way.
This feature also regressed performance for all crypto API users, since
it changed crypto transformation objects into reference-counted objects.
That added expensive atomic operations. The refcount is reverted by
this series, thus fixing the performance regression.
A subset of this was previously sent in
https://lore.kernel.org/r/20260307224341.5644-1-ebiggers@kernel.org
Compared to that version, this version is a bit more comprehensive.
Eric Biggers (6):
crypto: hash - Remove support for cloning hash tfms
crypto: cipher - Remove crypto_clone_cipher()
crypto: api - Remove crypto_clone_tfm()
crypto: api - Remove per-tfm refcount
crypto: api - Fold __crypto_alloc_tfmgfp() into __crypto_alloc_tfm()
crypto: api - Fold crypto_alloc_tfmmem() into crypto_create_tfm_node()
crypto/ahash.c | 70 -----------------------------
crypto/api.c | 76 +++++---------------------------
crypto/cipher.c | 28 ------------
crypto/cmac.c | 16 -------
crypto/cryptd.c | 16 -------
crypto/hmac.c | 31 -------------
crypto/internal.h | 10 -----
crypto/shash.c | 37 ----------------
include/crypto/hash.h | 8 ----
include/crypto/internal/cipher.h | 2 -
include/linux/crypto.h | 1 -
11 files changed, 10 insertions(+), 285 deletions(-)
base-commit: 1a1f055318d82e64485a6ff8420e5f70b4267998
--
2.54.0