Browse Source

security/keys: make BIG_KEYS dependent on stdrng.

Since BIG_KEYS can't be compiled as module it requires one of the "stdrng"
providers to be compiled into kernel. Otherwise big_key_crypto_init() fails
on crypto_alloc_rng step and next dereference of big_key_skcipher (e.g. in
big_key_preparse()) results in a NULL pointer dereference.

Fixes: 13100a72f40f5748a04017e0ab3df4cf27c809ef ('Security: Keys: Big keys stored encrypted')
Signed-off-by: Artem Savkov <asavkov@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Kirill Marinushkin <k.marinushkin@gmail.com>
cc: stable@vger.kernel.org
Signed-off-by: James Morris <james.l.morris@oracle.com>
Artem Savkov 9 years ago
parent
commit
31e6ec4519
1 changed files with 1 additions and 1 deletions
  1. 1 1
      security/keys/Kconfig

+ 1 - 1
security/keys/Kconfig

@@ -41,7 +41,7 @@ config BIG_KEYS
 	bool "Large payload keys"
 	bool "Large payload keys"
 	depends on KEYS
 	depends on KEYS
 	depends on TMPFS
 	depends on TMPFS
-	select CRYPTO
+	depends on (CRYPTO_ANSI_CPRNG = y || CRYPTO_DRBG = y)
 	select CRYPTO_AES
 	select CRYPTO_AES
 	select CRYPTO_ECB
 	select CRYPTO_ECB
 	select CRYPTO_RNG
 	select CRYPTO_RNG