[PATCH 00/42] crypto: Convert to platform remove callback returning void

Herbert Xu herbert at gondor.apana.org.au
Fri Oct 27 21:53:45 AEDT 2023


On Fri, Oct 20, 2023 at 09:55:22AM +0200, Uwe Kleine-König wrote:
> Hello,
> 
> this series converts all platform drivers below drivers/crypto to use
> .remove_new(). Compared to the traditional .remove() callback
> .remove_new() returns no value. This is a good thing because the driver
> core doesn't (and cannot) cope for errors during remove. The only effect
> of a non-zero return value in .remove() is that the driver core emits a
> warning. The device is removed anyhow and an early return from .remove()
> usually yields resource leaks and/or use-after-free bugs.
> 
> There are three drivers that got that wrong and potentially returned an
> error code (caam/jr.c, stm32/stm32-crc32.c, stm32/stm32-cryp.c). These
> are fixed accordingly. The other drivers could be transformed trivially.
> 
> See commit 5c5a7680e67b ("platform: Provide a remove callback that
> returns no value") for an extended explanation and the eventual goal.
> 
> There are no interdependencies in this series. As there are still quite
> a few drivers to convert, I'm happy about every patch that makes it in.
> So even if there is a merge conflict with one patch until you apply (or
> a different concern that doesn't apply to all patches), please apply the
> remainder of this series anyhow. I'll come back to the part that you
> (maybe) skipped at a later point.
> 
> Best regards and thanks
> Uwe
> 
> Uwe Kleine-König (42):
>   crypto: sun4i-ss - Convert to platform remove callback returning void
>   crypto: sun8i-ce - Convert to platform remove callback returning void
>   crypto: sun8i-ss - Convert to platform remove callback returning void
>   crypto: amcc/crypto4xx - Convert to platform remove callback returning void
>   crypto: amlogic-gxl-core - Convert to platform remove callback returning void
>   crypto: aspeed-acry - Convert to platform remove callback returning void
>   crypto: aspeed-hace - Convert to platform remove callback returning void
>   crypto: atmel-aes - Convert to platform remove callback returning void
>   crypto: atmel-sha - Convert to platform remove callback returning void
>   crypto: atmel-tdes - Convert to platform remove callback returning void
>   crypto: axis/artpec6 - Convert to platform remove callback returning void
>   crypto: bcm/cipher - Convert to platform remove callback returning void
>   crypto: caam/jr - Convert to platform remove callback returning void
>   crypto: ccp/sp - Convert to platform remove callback returning void
>   crypto: ccree/cc - Convert to platform remove callback returning void
>   crypto: exynos-rng - Convert to platform remove callback returning void
>   crypto: gemini/sl3516-ce - Convert to platform remove callback returning void
>   crypto: hisilicon/sec - Convert to platform remove callback returning void
>   crypto: hisilicon/trng - Convert to platform remove callback returning void
>   crypto: img-hash - Convert to platform remove callback returning void
>   crypto: inside-secure/safexcel - Convert to platform remove callback returning void
>   crypto: intel/ixp4xx-crypto - Convert to platform remove callback returning void
>   crypto: intel/keembay-ocs-aes - Convert to platform remove callback returning void
>   crypto: intel/keembay-ocs-ecc - Convert to platform remove callback returning void
>   crypto: intel/keembay-ocs-hcu - Convert to platform remove callback returning void
>   crypto: marvell/cesa - Convert to platform remove callback returning void
>   crypto: mxs-dcp - Convert to platform remove callback returning void
>   crypto: n2_core - Convert to platform remove callback returning void
>   crypto: omap-aes - Convert to platform remove callback returning void
>   crypto: omap-des - Convert to platform remove callback returning void
>   crypto: omap-sham - Convert to platform remove callback returning void
>   crypto: qce - Convert to platform remove callback returning void
>   crypto: qcom-rng - Convert to platform remove callback returning void
>   crypto: rockchip/rk3288 - Convert to platform remove callback returning void
>   crypto: s5p-sss - Convert to platform remove callback returning void
>   crypto: sa2ul - Convert to platform remove callback returning void
>   crypto: sahara - Convert to platform remove callback returning void
>   crypto: stm32/crc32 - Convert to platform remove callback returning void
>   crypto: stm32/cryp - Convert to platform remove callback returning void
>   crypto: talitos - Convert to platform remove callback returning void
>   crypto: xilinx/zynqmp-aes-gcm - Convert to platform remove callback returning void
>   crypto: xilinx/zynqmp-sha - Convert to platform remove callback returning void
> 
>  .../crypto/allwinner/sun4i-ss/sun4i-ss-core.c |  5 ++---
>  .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |  5 ++---
>  .../crypto/allwinner/sun8i-ss/sun8i-ss-core.c |  6 ++---
>  drivers/crypto/amcc/crypto4xx_core.c          |  6 ++---
>  drivers/crypto/amlogic/amlogic-gxl-core.c     |  5 ++---
>  drivers/crypto/aspeed/aspeed-acry.c           |  6 ++---
>  drivers/crypto/aspeed/aspeed-hace.c           |  6 ++---
>  drivers/crypto/atmel-aes.c                    |  6 ++---
>  drivers/crypto/atmel-sha.c                    |  6 ++---
>  drivers/crypto/atmel-tdes.c                   |  6 ++---
>  drivers/crypto/axis/artpec6_crypto.c          |  5 ++---
>  drivers/crypto/bcm/cipher.c                   |  5 ++---
>  drivers/crypto/caam/jr.c                      | 22 ++++++++-----------
>  drivers/crypto/ccp/sp-platform.c              |  6 ++---
>  drivers/crypto/ccree/cc_driver.c              |  6 ++---
>  drivers/crypto/exynos-rng.c                   |  6 ++---
>  drivers/crypto/gemini/sl3516-ce-core.c        |  6 ++---
>  drivers/crypto/hisilicon/sec/sec_drv.c        |  6 ++---
>  drivers/crypto/hisilicon/trng/trng.c          |  6 ++---
>  drivers/crypto/img-hash.c                     |  6 ++---
>  drivers/crypto/inside-secure/safexcel.c       |  6 ++---
>  drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c   |  6 ++---
>  .../intel/keembay/keembay-ocs-aes-core.c      |  6 ++---
>  .../crypto/intel/keembay/keembay-ocs-ecc.c    |  6 ++---
>  .../intel/keembay/keembay-ocs-hcu-core.c      |  6 ++---
>  drivers/crypto/marvell/cesa/cesa.c            |  6 ++---
>  drivers/crypto/mxs-dcp.c                      |  6 ++---
>  drivers/crypto/n2_core.c                      | 12 ++++------
>  drivers/crypto/omap-aes.c                     |  6 ++---
>  drivers/crypto/omap-des.c                     |  6 ++---
>  drivers/crypto/omap-sham.c                    |  6 ++---
>  drivers/crypto/qce/core.c                     |  5 ++---
>  drivers/crypto/qcom-rng.c                     |  6 ++---
>  drivers/crypto/rockchip/rk3288_crypto.c       |  5 ++---
>  drivers/crypto/s5p-sss.c                      |  6 ++---
>  drivers/crypto/sa2ul.c                        |  6 ++---
>  drivers/crypto/sahara.c                       |  6 ++---
>  drivers/crypto/stm32/stm32-crc32.c            | 15 +++++--------
>  drivers/crypto/stm32/stm32-cryp.c             | 16 +++++---------
>  drivers/crypto/talitos.c                      |  6 ++---
>  drivers/crypto/xilinx/zynqmp-aes-gcm.c        |  6 ++---
>  drivers/crypto/xilinx/zynqmp-sha.c            |  6 ++---
>  42 files changed, 99 insertions(+), 187 deletions(-)
> 
> base-commit: 4230ea146b1e64628f11e44290bb4008e391bc24
> -- 
> 2.42.0

All applied.  Thanks.
-- 
Email: Herbert Xu <herbert at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


More information about the Linux-aspeed mailing list