mbox series

[v2,0/2] crypto: remove bare cipher from public API

Message ID 20201211122715.15090-1-ardb@kernel.org (mailing list archive)
Headers show
Series crypto: remove bare cipher from public API | expand

Message

Ard Biesheuvel Dec. 11, 2020, 12:27 p.m. UTC
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 <ebiggers@google.com>

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

Comments

Herbert Xu Jan. 2, 2021, 10:06 p.m. UTC | #1
On Fri, Dec 11, 2020 at 01:27:13PM +0100, Ard Biesheuvel wrote:
> 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 <ebiggers@google.com>
> 
> 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

All applied.  Thanks.