Skip to content

crypto: remove old way of allocating and freeing instances

Eric Biggers linux-crypto 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest6 patches 1 replyIn review
  2. v16 patches 0 repliesSuperseded

Changes in v2 from the cover letter

- Rebased onto v2 of the other series.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6crypto: hash - add support for new way of freeing instancescrypto/ahash.c crypto/shash.c include/crypto/internal/hash.h+28 -00 replies
2/6crypto: geniv - convert to new way of freeing instancescrypto/echainiv.c crypto/geniv.c crypto/seqiv.c +1 more+16 -400 replies
3/6crypto: cryptd - convert to new way of freeing instancescrypto/cryptd.c+20 -220 replies
4/6crypto: shash - convert shash_free_instance() to new stylecrypto/ccm.c crypto/cmac.c crypto/hmac.c +4 more+20 -150 replies
5/6crypto: algapi - remove crypto_template::{alloc,free}()crypto/aead.c crypto/ahash.c crypto/algapi.c +3 more+1 -330 replies
6/6crypto: algapi - enforce that all instances have a ->free() methodcrypto/aead.c crypto/ahash.c crypto/akcipher.c +2 more+14 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/6] crypto: remove old way of allocating and freeing instances

This series makes all crypto templates use the new way of freeing instances where a ->free() method is installed to the instance struct itself. This replaces the weakly-typed method crypto_template::free().

skcipher and akcipher were already using the new way, while aead was mostly but not always using the new way. shash and ahash were using the old way. This series eliminates this inconsistency (and the redundant code associated with it) by making everyone use the new way.

The last patch adds registration-time checks which verify that all instances really have a ->free() method.

This series is an internal cleanup only; there are no changes for users of the crypto API.

This series is based on top of my other series "[PATCH v2 00/28] crypto: template instantiation cleanup".

Changed v1 => v2:

- Rebased onto v2 of the other series.

Eric Biggers (6):
crypto: hash - add support for new way of freeing instances
crypto: geniv - convert to new way of freeing instances
crypto: cryptd - convert to new way of freeing instances
crypto: shash - convert shash_free_instance() to new style
crypto: algapi - remove crypto_template::{alloc,free}()
crypto: algapi - enforce that all instances have a ->free() method

 crypto/aead.c                   |  8 +++----
 crypto/ahash.c                  | 11 +++++++++
 crypto/akcipher.c               |  2 ++
 crypto/algapi.c                 |  5 ----
 crypto/algboss.c                | 12 +---------
 crypto/ccm.c                    |  5 ++--
 crypto/cmac.c                   |  5 ++--
 crypto/cryptd.c                 | 42 ++++++++++++++++-----------------
 crypto/echainiv.c               | 20 ++++------------
 crypto/geniv.c                  | 15 ++++++------
 crypto/hmac.c                   |  5 ++--
 crypto/seqiv.c                  | 20 ++++------------
 crypto/shash.c                  | 19 +++++++++++----
 crypto/skcipher.c               |  3 +++
 crypto/vmac.c                   |  5 ++--
 crypto/xcbc.c                   |  5 ++--
 include/crypto/algapi.h         |  2 --
 include/crypto/internal/geniv.h |  1 -
 include/crypto/internal/hash.h  |  4 +++-
 19 files changed, 89 insertions(+), 100 deletions(-)
Signature · 1 line
2.24.1