linux/drivers/crypto/allwinner/Kconfig
Eric Biggers a78446ee6f crypto: sun8i-ss - Remove crypto_rng interface
Since the crypto_rng interface for hardware PRNGs is unused and is
redundant with hwrng and the actual Linux RNG, it's being phased out.
Most drivers for it were already removed.  Go ahead and remove the
sun8i-ss support which is one of the only remaining ones.

As usual for crypto_rng, this driver was also buggy: its ->generate()
function had a use-after-free vulnerability due to using
wait_for_completion_interruptible_timeout() without handling shutting
down the DMA operation if a signal is sent.  Also, it had a buffer
overread bug in the line 'memcpy(ctx->seed, d + dlen, ctx->slen);'.
There's no point in fixing these bugs separately only to remove the code
anyway, so this commit is marked with Fixes and Cc stable.

Fixes: ac2614d721 ("crypto: sun8i-ss - Add support for the PRNG")
Cc: stable@vger.kernel.org
Cc: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2026-07-05 13:27:15 +08:00

116 lines
3.4 KiB
Plaintext

config CRYPTO_DEV_ALLWINNER
bool "Support for Allwinner cryptographic offloader"
depends on ARCH_SUNXI || COMPILE_TEST
default y if ARCH_SUNXI
help
Say Y here to get to see options for Allwinner hardware crypto devices
config CRYPTO_DEV_SUN4I_SS
tristate "Support for Allwinner Security System cryptographic accelerator"
depends on ARCH_SUNXI
depends on PM
depends on CRYPTO_DEV_ALLWINNER
select CRYPTO_MD5
select CRYPTO_SHA1
select CRYPTO_AES
select CRYPTO_LIB_DES
select CRYPTO_SKCIPHER
help
Some Allwinner SoC have a crypto accelerator named
Security System. Select this if you want to use it.
The Security System handle AES/DES/3DES ciphers in CBC mode
and SHA1 and MD5 hash algorithms.
To compile this driver as a module, choose M here: the module
will be called sun4i-ss.
config CRYPTO_DEV_SUN4I_SS_DEBUG
bool "Enable sun4i-ss stats"
depends on CRYPTO_DEV_SUN4I_SS
depends on DEBUG_FS
help
Say y to enable sun4i-ss debug stats.
This will create /sys/kernel/debug/sun4i-ss/stats for displaying
the number of requests per algorithm.
config CRYPTO_DEV_SUN8I_CE
tristate "Support for Allwinner Crypto Engine cryptographic offloader"
select CRYPTO_SKCIPHER
select CRYPTO_ENGINE
select CRYPTO_ECB
select CRYPTO_CBC
select CRYPTO_AES
select CRYPTO_DES
depends on CRYPTO_DEV_ALLWINNER
depends on PM
help
Select y here to have support for the crypto Engine available on
Allwinner SoC H2+, H3, H5, H6, R40 and A64.
The Crypto Engine handle AES/3DES ciphers in ECB/CBC mode.
To compile this driver as a module, choose M here: the module
will be called sun8i-ce.
config CRYPTO_DEV_SUN8I_CE_DEBUG
bool "Enable sun8i-ce stats"
depends on CRYPTO_DEV_SUN8I_CE
depends on DEBUG_FS
help
Say y to enable sun8i-ce debug stats.
This will create /sys/kernel/debug/sun8i-ce/stats for displaying
the number of requests per flow and per algorithm.
config CRYPTO_DEV_SUN8I_CE_HASH
bool "Enable support for hash on sun8i-ce"
depends on CRYPTO_DEV_SUN8I_CE
select CRYPTO_MD5
select CRYPTO_SHA1
select CRYPTO_SHA256
select CRYPTO_SHA512
help
Say y to enable support for hash algorithms.
config CRYPTO_DEV_SUN8I_CE_TRNG
bool "Support for Allwinner Crypto Engine TRNG"
depends on CRYPTO_DEV_SUN8I_CE
select HW_RANDOM
help
Select this option if you want to provide kernel-side support for
the True Random Number Generator found in the Crypto Engine.
config CRYPTO_DEV_SUN8I_SS
tristate "Support for Allwinner Security System cryptographic offloader"
select CRYPTO_SKCIPHER
select CRYPTO_ENGINE
select CRYPTO_ECB
select CRYPTO_CBC
select CRYPTO_AES
select CRYPTO_DES
depends on CRYPTO_DEV_ALLWINNER
depends on PM
help
Select y here to have support for the Security System available on
Allwinner SoC A80, A83T.
The Security System handle AES/3DES ciphers in ECB/CBC mode.
To compile this driver as a module, choose M here: the module
will be called sun8i-ss.
config CRYPTO_DEV_SUN8I_SS_DEBUG
bool "Enable sun8i-ss stats"
depends on CRYPTO_DEV_SUN8I_SS
depends on DEBUG_FS
help
Say y to enable sun8i-ss debug stats.
This will create /sys/kernel/debug/sun8i-ss/stats for displaying
the number of requests per flow and per algorithm.
config CRYPTO_DEV_SUN8I_SS_HASH
bool "Enable support for hash on sun8i-ss"
depends on CRYPTO_DEV_SUN8I_SS
select CRYPTO_MD5
select CRYPTO_SHA1
select CRYPTO_SHA256
help
Say y to enable support for hash algorithms.