Skip to content

crypto: remove bare cipher from public API

Ard Biesheuvel linux-crypto 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 3 repliesIn review
  2. v12 patches 0 repliesSuperseded

Changes in v2 from the cover letter

- add missing Kconfig dependency on CRYPT_LIB_AES (#1)
- add missing module namespace import into skcipher.c (#2) - this addresses the kbuild failure report
- add module import to QAT driver, which now contains a valid use of the bare cipher API

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2chcr_ktls: use AES library for single use cipherdrivers/net/ethernet/chelsio/inline_crypto/Kconfig drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c+8 -121 reply
2/2crypto: remove cipher routines from public crypto APIDocumentation/crypto/api-skcipher.rst arch/arm/crypto/aes-neonbs-glue.c arch/s390/crypto/aes_s390.c +30 more+273 -2071 reply

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by.

PatchEric Biggers
1/2R-b
2/2A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] crypto: remove bare cipher from public API

Patch #2 puts the cipher API (which should not be used outside of the crypto API implementation) into an internal header file and module namespace

Patch #1 is a prerequisite for this, to avoid having to make the chelsio driver import the crypto internal namespace.

Changes since v1:
- add missing Kconfig dependency on CRYPT_LIB_AES (#1)
- add missing module namespace import into skcipher.c (#2) - this addresses the kbuild failure report
- add module import to QAT driver, which now contains a valid use of the bare cipher API

Cc Eric Biggers <[email protected]>

Ard Biesheuvel (2):
chcr_ktls: use AES library for single use cipher
crypto: remove cipher routines from public crypto API

 Documentation/crypto/api-skcipher.rst         |   4 +-
 arch/arm/crypto/aes-neonbs-glue.c             |   3 +
 arch/s390/crypto/aes_s390.c                   |   2 +
 crypto/adiantum.c                             |   2 +
 crypto/ansi_cprng.c                           |   2 +
 crypto/cbc.c                                  |   1 +
 crypto/ccm.c                                  |   2 +
 crypto/cfb.c                                  |   2 +
 crypto/cipher.c                               |   7 +-
 crypto/cmac.c                                 |   2 +
 crypto/ctr.c                                  |   2 +
 crypto/drbg.c                                 |   2 +
 crypto/ecb.c                                  |   1 +
 crypto/essiv.c                                |   2 +
 crypto/keywrap.c                              |   2 +
 crypto/ofb.c                                  |   2 +
 crypto/pcbc.c                                 |   2 +
 crypto/skcipher.c                             |   2 +
 crypto/testmgr.c                              |   3 +
 crypto/vmac.c                                 |   2 +
 crypto/xcbc.c                                 |   2 +
 crypto/xts.c                                  |   2 +
 drivers/crypto/geode-aes.c                    |   2 +
 drivers/crypto/inside-secure/safexcel.c       |   1 +
 drivers/crypto/inside-secure/safexcel_hash.c  |   1 +
 drivers/crypto/qat/qat_common/adf_ctl_drv.c   |   1 +
 drivers/crypto/qat/qat_common/qat_algs.c      |   1 +
 drivers/crypto/vmx/aes.c                      |   1 +
 drivers/crypto/vmx/vmx.c                      |   1 +
 .../ethernet/chelsio/inline_crypto/Kconfig    |   1 +
 .../chelsio/inline_crypto/ch_ktls/chcr_ktls.c |  19 +-
 include/crypto/algapi.h                       |  39 ----
 include/crypto/internal/cipher.h              | 218 ++++++++++++++++++
 include/crypto/internal/skcipher.h            |   1 +
 include/linux/crypto.h                        | 163 -------------
 35 files changed, 281 insertions(+), 219 deletions(-)
 create mode 100644 include/crypto/internal/cipher.h
Signature · 1 line
2.17.1