crypto: geniv - Split geniv out of AEAD Kconfig option
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 13 Jun 2023 09:13:35 +0000 (17:13 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 23 Jun 2023 08:15:36 +0000 (16:15 +0800)
Give geniv its own Kconfig option so that its dependencies are
distinct from that of the AEAD API code.  This also allows it
to be disabled if no IV generators (seqiv/echainiv) are enabled.

Remove the obsolete select on RNG2 by SKCIPHER2 as skcipher IV
generators disappeared long ago.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/Kconfig
crypto/Makefile

index 4429298..8b8bb97 100644 (file)
@@ -71,8 +71,6 @@ config CRYPTO_AEAD
 config CRYPTO_AEAD2
        tristate
        select CRYPTO_ALGAPI2
-       select CRYPTO_NULL2
-       select CRYPTO_RNG2
 
 config CRYPTO_SKCIPHER
        tristate
@@ -82,7 +80,6 @@ config CRYPTO_SKCIPHER
 config CRYPTO_SKCIPHER2
        tristate
        select CRYPTO_ALGAPI2
-       select CRYPTO_RNG2
 
 config CRYPTO_HASH
        tristate
@@ -834,13 +831,16 @@ config CRYPTO_GCM
 
          This is required for IPSec ESP (XFRM_ESP).
 
-config CRYPTO_SEQIV
-       tristate "Sequence Number IV Generator"
+config CRYPTO_GENIV
+       tristate
        select CRYPTO_AEAD
-       select CRYPTO_SKCIPHER
        select CRYPTO_NULL
-       select CRYPTO_RNG_DEFAULT
        select CRYPTO_MANAGER
+       select CRYPTO_RNG_DEFAULT
+
+config CRYPTO_SEQIV
+       tristate "Sequence Number IV Generator"
+       select CRYPTO_GENIV
        help
          Sequence Number IV generator
 
@@ -851,10 +851,7 @@ config CRYPTO_SEQIV
 
 config CRYPTO_ECHAINIV
        tristate "Encrypted Chain IV Generator"
-       select CRYPTO_AEAD
-       select CRYPTO_NULL
-       select CRYPTO_RNG_DEFAULT
-       select CRYPTO_MANAGER
+       select CRYPTO_GENIV
        help
          Encrypted Chain IV generator
 
index 45dae47..155ab67 100644 (file)
@@ -14,7 +14,7 @@ crypto_algapi-y := algapi.o scatterwalk.o $(crypto_algapi-y)
 obj-$(CONFIG_CRYPTO_ALGAPI2) += crypto_algapi.o
 
 obj-$(CONFIG_CRYPTO_AEAD2) += aead.o
-obj-$(CONFIG_CRYPTO_AEAD2) += geniv.o
+obj-$(CONFIG_CRYPTO_GENIV) += geniv.o
 
 obj-$(CONFIG_CRYPTO_SKCIPHER2) += skcipher.o
 obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o