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 v4 00/29] crypto: convert h/w accelerator drivers to skcipher API Date: Sat, 9 Nov 2019 18:09:25 +0100 [thread overview] Message-ID: <20191109170954.756-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 v3: - add acks from Tudor, Gilad and Eric - incorporate updated version of the QAT patch from Giovanni - rebased onto latest cryptodev/master - updated wording in commit logs to refer to ablkcipher not blkcipher [which has already been removed] 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 by me on actual 'hardware' (given the virtual nature of the virtio driver). Patch #5 was tested by Tero. Patch #7 was tested successfully in kernelci. Patches #8 and #9 were tested by Tudor. Patch #16 was tested by Horia. Patch #25 was updated with changes proposed by Giovanni, so I assume he tested them as well. Patch #24 was fixed in v2 in response to a test failure report. 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 +++++---- .../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 | 304 +++++----- 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 +- .../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 +- .../rockchip/rk3288_crypto_ablkcipher.c | 556 ------------------ .../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, 3531 insertions(+), 5024 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.17.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 v4 00/29] crypto: convert h/w accelerator drivers to skcipher API Date: Sat, 9 Nov 2019 18:09:25 +0100 [thread overview] Message-ID: <20191109170954.756-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 v3: - add acks from Tudor, Gilad and Eric - incorporate updated version of the QAT patch from Giovanni - rebased onto latest cryptodev/master - updated wording in commit logs to refer to ablkcipher not blkcipher [which has already been removed] 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 by me on actual 'hardware' (given the virtual nature of the virtio driver). Patch #5 was tested by Tero. Patch #7 was tested successfully in kernelci. Patches #8 and #9 were tested by Tudor. Patch #16 was tested by Horia. Patch #25 was updated with changes proposed by Giovanni, so I assume he tested them as well. Patch #24 was fixed in v2 in response to a test failure report. 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 +++++---- .../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 | 304 +++++----- 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 +- .../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 +- .../rockchip/rk3288_crypto_ablkcipher.c | 556 ------------------ .../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, 3531 insertions(+), 5024 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.17.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-09 17:10 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-09 17:09 Ard Biesheuvel [this message] 2019-11-09 17:09 ` [PATCH v4 00/29] crypto: convert h/w accelerator drivers to skcipher API Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 01/29] crypto: virtio - implement missing support for output IVs Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 02/29] crypto: virtio - deal with unsupported input sizes Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 03/29] crypto: virtio - switch to skcipher API Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 04/29] crypto: ccp - switch from ablkcipher to skcipher Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 05/29] crypto: omap - switch to skcipher API Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 06/29] crypto: ux500 " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 07/29] crypto: s5p " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 08/29] crypto: atmel-aes " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-13 12:49 ` Tudor.Ambarus 2019-11-13 12:49 ` Tudor.Ambarus 2019-11-09 17:09 ` [PATCH v4 09/29] crypto: atmel-tdes " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-13 12:59 ` Tudor.Ambarus 2019-11-13 12:59 ` Tudor.Ambarus 2019-11-09 17:09 ` [PATCH v4 10/29] crypto: bcm-spu " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 11/29] crypto: nitrox - remove cra_type reference to ablkcipher Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 12/29] crypto: cavium/cpt - switch to skcipher API Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 13/29] crypto: chelsio " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 14/29] crypto: hifn " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 15/29] crypto: ixp4xx " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 16/29] crypto: mxs " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 17/29] crypto: mediatek " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 18/29] crypto: sahara " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 19/29] crypto: picoxcell " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 20/29] crypto: qce " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 21/29] crypto: stm32 " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 22/29] crypto: niagara2 " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 23/29] crypto: rockchip " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 24/29] crypto: talitos " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 25/29] crypto: qat " Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 26/29] crypto: marvell/cesa - rename blkcipher to skcipher Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 27/29] crypto: nx - remove stale comment referring to the blkcipher walk API Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 28/29] crypto: remove deprecated and unused ablkcipher support Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-09 17:09 ` [PATCH v4 29/29] crypto: ccree - update a stale reference to ablkcipher Ard Biesheuvel 2019-11-09 17:09 ` Ard Biesheuvel 2019-11-15 6:08 ` [PATCH v4 00/29] crypto: convert h/w accelerator drivers to skcipher API Herbert Xu 2019-11-15 6:08 ` Herbert Xu
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=20191109170954.756-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.