From: Ard Biesheuvel <ardb@kernel.org> To: linux-crypto@vger.kernel.org Cc: Ard Biesheuvel <ardb@kernel.org>, Herbert Xu <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, Eric Biggers <ebiggers@google.com>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 00/29] crypto: convert h/w accelerator drivers to skcipher API Date: Tue, 5 Nov 2019 14:27:57 +0100 [thread overview] Message-ID: <20191105132826.1838-1-ardb@kernel.org> (raw) This series converts all drivers for h/w accelerators that produce the ablkcipher API to the skcipher API, so that we can finally retire the long deprecated ablkcipher code. Changes since v2: - added a patch that removes the ablkcipher support code itself - fix an issue in the talitos code - add tero's ack to patch #5 - add stanimir's ack to patch #20 Changes since v1: - remove some more [cosmetic] references to [a]blkcipher (#26-#27) - add back missing IV for cbc(aes) in the omap driver, fixing a crash - add Gary's ack to #4 - add Linus's ack to #6 and #15 - add Kamil's and Krzysztof's acks to #7 - fixed a bug in the Atmel patch (#8) - add Horia's tested-by to #16 - add Dave's ack to #22 Patches #1, #2 are fixes for the virtio driver, which need to be applied first so that they can be backported Patches #3 and #4 have been tested on actual 'hardware' (given the virtual nature of the virtio driver). Patch #7 was tested successfully in kernelci. Patch #5 was tested by Tero. Patch #16 was tested by Horia. All other patches have been build tested *only*, and should preferably be tested on actual hardware before being merged. Note that patches can be merged piecemeal (with the exception of #1 .. #3 which should be taken as a set, and #28 which removes the ablkcipher support code) since there are no dependencies between them. However, deferring this series indefinitely until everyone has chimed in doesn't seem like a useful approach either, so I am leaving it up to the maintainers to decide when we have reached critical mass and the whole series can be taken. Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Biggers <ebiggers@google.com> Cc: linux-arm-kernel@lists.infradead.org Ard Biesheuvel (29): crypto: virtio - implement missing support for output IVs crypto: virtio - deal with unsupported input sizes crypto: virtio - switch to skcipher API crypto: ccp - switch from ablkcipher to skcipher crypto: omap - switch to skcipher API crypto: ux500 - switch to skcipher API crypto: s5p - switch to skcipher API crypto: atmel-aes - switch to skcipher API crypto: atmel-tdes - switch to skcipher API crypto: bcm-spu - switch to skcipher API crypto: nitrox - remove cra_type reference to ablkcipher crypto: cavium/cpt - switch to skcipher API crypto: chelsio - switch to skcipher API crypto: hifn - switch to skcipher API crypto: ixp4xx - switch to skcipher API crypto: mxs - switch to skcipher API crypto: mediatek - switch to skcipher API crypto: sahara - switch to skcipher API crypto: picoxcell - switch to skcipher API crypto: qce - switch to skcipher API crypto: stm32 - switch to skcipher API crypto: niagara2 - switch to skcipher API crypto: rockchip - switch to skcipher API crypto: talitos - switch to skcipher API crypto: qat - switch to skcipher API crypto: marvell/cesa - rename blkcipher to skcipher crypto: nx - remove stale comment referring to the blkcipher walk API crypto: remove deprecated and unused ablkcipher support crypto: ccree - update a stale reference to ablkcipher Documentation/crypto/api-skcipher.rst | 20 +- Documentation/crypto/architecture.rst | 2 - Documentation/crypto/crypto_engine.rst | 4 - crypto/Makefile | 4 +- crypto/ablkcipher.c | 407 -------------- crypto/algapi.c | 26 - crypto/crypto_engine.c | 29 - crypto/skcipher.c | 106 ---- drivers/crypto/Kconfig | 2 +- drivers/crypto/atmel-aes.c | 509 +++++++++--------- drivers/crypto/atmel-tdes.c | 433 ++++++++------- drivers/crypto/bcm/cipher.c | 373 +++++++------ drivers/crypto/bcm/cipher.h | 10 +- drivers/crypto/bcm/spu2.c | 6 +- drivers/crypto/cavium/cpt/cptvf_algs.c | 292 +++++----- drivers/crypto/cavium/nitrox/nitrox_skcipher.c | 1 - drivers/crypto/ccp/ccp-crypto-aes-galois.c | 7 +- drivers/crypto/ccp/ccp-crypto-aes-xts.c | 94 ++-- drivers/crypto/ccp/ccp-crypto-aes.c | 169 +++--- drivers/crypto/ccp/ccp-crypto-des3.c | 100 ++-- drivers/crypto/ccp/ccp-crypto-main.c | 14 +- drivers/crypto/ccp/ccp-crypto.h | 13 +- drivers/crypto/ccree/cc_cipher.c | 4 +- drivers/crypto/chelsio/chcr_algo.c | 334 ++++++------ drivers/crypto/chelsio/chcr_algo.h | 2 +- drivers/crypto/chelsio/chcr_crypto.h | 16 +- drivers/crypto/hifn_795x.c | 183 +++---- drivers/crypto/ixp4xx_crypto.c | 228 ++++---- drivers/crypto/marvell/cesa.h | 6 +- drivers/crypto/marvell/cipher.c | 14 +- drivers/crypto/mediatek/mtk-aes.c | 248 ++++----- drivers/crypto/mxs-dcp.c | 140 +++-- drivers/crypto/n2_core.c | 194 ++++--- drivers/crypto/nx/nx-aes-ccm.c | 5 - drivers/crypto/nx/nx-aes-gcm.c | 5 - drivers/crypto/omap-aes.c | 209 ++++---- drivers/crypto/omap-aes.h | 4 +- drivers/crypto/omap-des.c | 232 ++++---- drivers/crypto/picoxcell_crypto.c | 386 +++++++------- drivers/crypto/qat/qat_common/qat_algs.c | 255 +++++---- drivers/crypto/qat/qat_common/qat_crypto.h | 4 +- drivers/crypto/qce/Makefile | 2 +- drivers/crypto/qce/cipher.h | 8 +- drivers/crypto/qce/common.c | 12 +- drivers/crypto/qce/common.h | 3 +- drivers/crypto/qce/core.c | 2 +- drivers/crypto/qce/{ablkcipher.c => skcipher.c} | 172 +++--- drivers/crypto/rockchip/Makefile | 2 +- drivers/crypto/rockchip/rk3288_crypto.c | 8 +- drivers/crypto/rockchip/rk3288_crypto.h | 3 +- drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c | 556 -------------------- drivers/crypto/rockchip/rk3288_crypto_skcipher.c | 538 +++++++++++++++++++ drivers/crypto/s5p-sss.c | 187 ++++--- drivers/crypto/sahara.c | 156 +++--- drivers/crypto/stm32/stm32-cryp.c | 338 ++++++------ drivers/crypto/talitos.c | 308 +++++------ drivers/crypto/ux500/cryp/cryp_core.c | 371 ++++++------- drivers/crypto/virtio/virtio_crypto_algs.c | 192 +++---- drivers/crypto/virtio/virtio_crypto_common.h | 2 +- include/crypto/aead.h | 2 +- include/crypto/algapi.h | 75 --- include/crypto/engine.h | 4 - include/crypto/hash.h | 2 +- include/crypto/internal/des.h | 12 - include/crypto/internal/skcipher.h | 20 - include/crypto/skcipher.h | 6 - include/linux/crypto.h | 435 --------------- 67 files changed, 3506 insertions(+), 5000 deletions(-) delete mode 100644 crypto/ablkcipher.c rename drivers/crypto/qce/{ablkcipher.c => skcipher.c} (61%) delete mode 100644 drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c create mode 100644 drivers/crypto/rockchip/rk3288_crypto_skcipher.c -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Ard Biesheuvel <ardb@kernel.org> To: linux-crypto@vger.kernel.org Cc: "David S. Miller" <davem@davemloft.net>, Eric Biggers <ebiggers@google.com>, Ard Biesheuvel <ardb@kernel.org>, linux-arm-kernel@lists.infradead.org, Herbert Xu <herbert@gondor.apana.org.au> Subject: [PATCH v3 00/29] crypto: convert h/w accelerator drivers to skcipher API Date: Tue, 5 Nov 2019 14:27:57 +0100 [thread overview] Message-ID: <20191105132826.1838-1-ardb@kernel.org> (raw) This series converts all drivers for h/w accelerators that produce the ablkcipher API to the skcipher API, so that we can finally retire the long deprecated ablkcipher code. Changes since v2: - added a patch that removes the ablkcipher support code itself - fix an issue in the talitos code - add tero's ack to patch #5 - add stanimir's ack to patch #20 Changes since v1: - remove some more [cosmetic] references to [a]blkcipher (#26-#27) - add back missing IV for cbc(aes) in the omap driver, fixing a crash - add Gary's ack to #4 - add Linus's ack to #6 and #15 - add Kamil's and Krzysztof's acks to #7 - fixed a bug in the Atmel patch (#8) - add Horia's tested-by to #16 - add Dave's ack to #22 Patches #1, #2 are fixes for the virtio driver, which need to be applied first so that they can be backported Patches #3 and #4 have been tested on actual 'hardware' (given the virtual nature of the virtio driver). Patch #7 was tested successfully in kernelci. Patch #5 was tested by Tero. Patch #16 was tested by Horia. All other patches have been build tested *only*, and should preferably be tested on actual hardware before being merged. Note that patches can be merged piecemeal (with the exception of #1 .. #3 which should be taken as a set, and #28 which removes the ablkcipher support code) since there are no dependencies between them. However, deferring this series indefinitely until everyone has chimed in doesn't seem like a useful approach either, so I am leaving it up to the maintainers to decide when we have reached critical mass and the whole series can be taken. Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Cc: Eric Biggers <ebiggers@google.com> Cc: linux-arm-kernel@lists.infradead.org Ard Biesheuvel (29): crypto: virtio - implement missing support for output IVs crypto: virtio - deal with unsupported input sizes crypto: virtio - switch to skcipher API crypto: ccp - switch from ablkcipher to skcipher crypto: omap - switch to skcipher API crypto: ux500 - switch to skcipher API crypto: s5p - switch to skcipher API crypto: atmel-aes - switch to skcipher API crypto: atmel-tdes - switch to skcipher API crypto: bcm-spu - switch to skcipher API crypto: nitrox - remove cra_type reference to ablkcipher crypto: cavium/cpt - switch to skcipher API crypto: chelsio - switch to skcipher API crypto: hifn - switch to skcipher API crypto: ixp4xx - switch to skcipher API crypto: mxs - switch to skcipher API crypto: mediatek - switch to skcipher API crypto: sahara - switch to skcipher API crypto: picoxcell - switch to skcipher API crypto: qce - switch to skcipher API crypto: stm32 - switch to skcipher API crypto: niagara2 - switch to skcipher API crypto: rockchip - switch to skcipher API crypto: talitos - switch to skcipher API crypto: qat - switch to skcipher API crypto: marvell/cesa - rename blkcipher to skcipher crypto: nx - remove stale comment referring to the blkcipher walk API crypto: remove deprecated and unused ablkcipher support crypto: ccree - update a stale reference to ablkcipher Documentation/crypto/api-skcipher.rst | 20 +- Documentation/crypto/architecture.rst | 2 - Documentation/crypto/crypto_engine.rst | 4 - crypto/Makefile | 4 +- crypto/ablkcipher.c | 407 -------------- crypto/algapi.c | 26 - crypto/crypto_engine.c | 29 - crypto/skcipher.c | 106 ---- drivers/crypto/Kconfig | 2 +- drivers/crypto/atmel-aes.c | 509 +++++++++--------- drivers/crypto/atmel-tdes.c | 433 ++++++++------- drivers/crypto/bcm/cipher.c | 373 +++++++------ drivers/crypto/bcm/cipher.h | 10 +- drivers/crypto/bcm/spu2.c | 6 +- drivers/crypto/cavium/cpt/cptvf_algs.c | 292 +++++----- drivers/crypto/cavium/nitrox/nitrox_skcipher.c | 1 - drivers/crypto/ccp/ccp-crypto-aes-galois.c | 7 +- drivers/crypto/ccp/ccp-crypto-aes-xts.c | 94 ++-- drivers/crypto/ccp/ccp-crypto-aes.c | 169 +++--- drivers/crypto/ccp/ccp-crypto-des3.c | 100 ++-- drivers/crypto/ccp/ccp-crypto-main.c | 14 +- drivers/crypto/ccp/ccp-crypto.h | 13 +- drivers/crypto/ccree/cc_cipher.c | 4 +- drivers/crypto/chelsio/chcr_algo.c | 334 ++++++------ drivers/crypto/chelsio/chcr_algo.h | 2 +- drivers/crypto/chelsio/chcr_crypto.h | 16 +- drivers/crypto/hifn_795x.c | 183 +++---- drivers/crypto/ixp4xx_crypto.c | 228 ++++---- drivers/crypto/marvell/cesa.h | 6 +- drivers/crypto/marvell/cipher.c | 14 +- drivers/crypto/mediatek/mtk-aes.c | 248 ++++----- drivers/crypto/mxs-dcp.c | 140 +++-- drivers/crypto/n2_core.c | 194 ++++--- drivers/crypto/nx/nx-aes-ccm.c | 5 - drivers/crypto/nx/nx-aes-gcm.c | 5 - drivers/crypto/omap-aes.c | 209 ++++---- drivers/crypto/omap-aes.h | 4 +- drivers/crypto/omap-des.c | 232 ++++---- drivers/crypto/picoxcell_crypto.c | 386 +++++++------- drivers/crypto/qat/qat_common/qat_algs.c | 255 +++++---- drivers/crypto/qat/qat_common/qat_crypto.h | 4 +- drivers/crypto/qce/Makefile | 2 +- drivers/crypto/qce/cipher.h | 8 +- drivers/crypto/qce/common.c | 12 +- drivers/crypto/qce/common.h | 3 +- drivers/crypto/qce/core.c | 2 +- drivers/crypto/qce/{ablkcipher.c => skcipher.c} | 172 +++--- drivers/crypto/rockchip/Makefile | 2 +- drivers/crypto/rockchip/rk3288_crypto.c | 8 +- drivers/crypto/rockchip/rk3288_crypto.h | 3 +- drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c | 556 -------------------- drivers/crypto/rockchip/rk3288_crypto_skcipher.c | 538 +++++++++++++++++++ drivers/crypto/s5p-sss.c | 187 ++++--- drivers/crypto/sahara.c | 156 +++--- drivers/crypto/stm32/stm32-cryp.c | 338 ++++++------ drivers/crypto/talitos.c | 308 +++++------ drivers/crypto/ux500/cryp/cryp_core.c | 371 ++++++------- drivers/crypto/virtio/virtio_crypto_algs.c | 192 +++---- drivers/crypto/virtio/virtio_crypto_common.h | 2 +- include/crypto/aead.h | 2 +- include/crypto/algapi.h | 75 --- include/crypto/engine.h | 4 - include/crypto/hash.h | 2 +- include/crypto/internal/des.h | 12 - include/crypto/internal/skcipher.h | 20 - include/crypto/skcipher.h | 6 - include/linux/crypto.h | 435 --------------- 67 files changed, 3506 insertions(+), 5000 deletions(-) delete mode 100644 crypto/ablkcipher.c rename drivers/crypto/qce/{ablkcipher.c => skcipher.c} (61%) delete mode 100644 drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c create mode 100644 drivers/crypto/rockchip/rk3288_crypto_skcipher.c -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-11-05 13:28 UTC|newest] Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-05 13:27 Ard Biesheuvel [this message] 2019-11-05 13:27 ` [PATCH v3 00/29] crypto: convert h/w accelerator drivers to skcipher API Ard Biesheuvel 2019-11-05 13:27 ` [PATCH v3 01/29] crypto: virtio - implement missing support for output IVs Ard Biesheuvel 2019-11-05 13:27 ` Ard Biesheuvel 2019-11-05 13:27 ` [PATCH v3 02/29] crypto: virtio - deal with unsupported input sizes Ard Biesheuvel 2019-11-05 13:27 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 03/29] crypto: virtio - switch to skcipher API Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 17:32 ` Eric Biggers 2019-11-05 17:32 ` Eric Biggers 2019-11-05 13:28 ` [PATCH v3 04/29] crypto: ccp - switch from ablkcipher to skcipher Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 05/29] crypto: omap - switch to skcipher API Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 06/29] crypto: ux500 " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 07/29] crypto: s5p " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 08/29] crypto: atmel-aes " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-09 6:23 ` Tudor.Ambarus 2019-11-09 6:23 ` Tudor.Ambarus 2019-11-05 13:28 ` [PATCH v3 09/29] crypto: atmel-tdes " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-09 6:17 ` Tudor.Ambarus 2019-11-09 6:17 ` Tudor.Ambarus 2019-11-05 13:28 ` [PATCH v3 10/29] crypto: bcm-spu " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 11/29] crypto: nitrox - remove cra_type reference to ablkcipher Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 12/29] crypto: cavium/cpt - switch to skcipher API Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 13/29] crypto: chelsio " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 14/29] crypto: hifn " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 15/29] crypto: ixp4xx " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 16/29] crypto: mxs " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 17/29] crypto: mediatek " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-10 18:31 ` Matthias Brugger 2019-11-10 18:31 ` Matthias Brugger 2019-11-10 18:31 ` Matthias Brugger 2019-11-05 13:28 ` [PATCH v3 18/29] crypto: sahara " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 19/29] crypto: picoxcell " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 20/29] crypto: qce " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 21/29] crypto: stm32 " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 22/29] crypto: niagara2 " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 23/29] crypto: rockchip " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 24/29] crypto: talitos " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 25/29] crypto: qat " Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-07 11:26 ` Giovanni Cabiddu 2019-11-07 11:26 ` Giovanni Cabiddu 2019-11-07 11:34 ` Ard Biesheuvel 2019-11-07 11:34 ` Ard Biesheuvel 2019-11-08 9:14 ` Herbert Xu 2019-11-08 9:14 ` Herbert Xu 2019-11-05 13:28 ` [PATCH v3 26/29] crypto: marvell/cesa - rename blkcipher to skcipher Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 27/29] crypto: nx - remove stale comment referring to the blkcipher walk API Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 13:28 ` [PATCH v3 28/29] crypto: remove deprecated and unused ablkcipher support Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-05 17:52 ` Eric Biggers 2019-11-05 17:52 ` Eric Biggers 2019-11-06 4:03 ` Herbert Xu 2019-11-06 4:03 ` Herbert Xu 2019-11-05 13:28 ` [PATCH v3 29/29] crypto: ccree - update a stale reference to ablkcipher Ard Biesheuvel 2019-11-05 13:28 ` Ard Biesheuvel 2019-11-06 6:24 ` Gilad Ben-Yossef 2019-11-06 6:24 ` Gilad Ben-Yossef
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=20191105132826.1838-1-ardb@kernel.org \ --to=ardb@kernel.org \ --cc=davem@davemloft.net \ --cc=ebiggers@google.com \ --cc=herbert@gondor.apana.org.au \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-crypto@vger.kernel.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: linkBe 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.