crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency
authorArnd Bergmann <arnd@arndb.de>
Mon, 20 Sep 2021 10:05:35 +0000 (12:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:29 +0000 (19:16 +0100)
[ Upstream commit 38aa192a05f22f9778f9420e630f0322525ef12e ]

The ecc.c file started out as part of the ECDH algorithm but got
moved out into a standalone module later. It does not build without
CRYPTO_DEFAULT_RNG, so now that other modules are using it as well we
can run into this link error:

aarch64-linux-ld: ecc.c:(.text+0xfc8): undefined reference to `crypto_default_rng'
aarch64-linux-ld: ecc.c:(.text+0xff4): undefined reference to `crypto_put_default_rng'

Move the 'select CRYPTO_DEFAULT_RNG' statement into the correct symbol.

Fixes: 0d7a78643f69 ("crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm")
Fixes: 4e6602916bc6 ("crypto: ecdsa - Add support for ECDSA signature verification")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
crypto/Kconfig

index 536df4b..285f826 100644 (file)
@@ -233,12 +233,12 @@ config CRYPTO_DH
 
 config CRYPTO_ECC
        tristate
+       select CRYPTO_RNG_DEFAULT
 
 config CRYPTO_ECDH
        tristate "ECDH algorithm"
        select CRYPTO_ECC
        select CRYPTO_KPP
-       select CRYPTO_RNG_DEFAULT
        help
          Generic implementation of the ECDH algorithm