On 06/28/14 22:07, Stephan Mueller wrote: > Am Sonntag, 29. Juni 2014, 12:20:15 schrieb Stephen Rothwell: > > Hi Stephen, > >> Hi Stephan, >> >> On Sat, 28 Jun 2014 22:00:07 +0200 Stephan Mueller <smueller@xxxxxxxxxx> > wrote: >>> diff --git a/crypto/drbg.c b/crypto/drbg.c >>> index 6679a26..03a230e 100644 >>> --- a/crypto/drbg.c >>> +++ b/crypto/drbg.c >>> @@ -102,8 +102,13 @@ >>> >>> #if !defined(CONFIG_CRYPTO_DRBG_HASH) && \ >>> >>> !defined(CONFIG_CRYPTO_DRBG_HMAC) && \ >>> !defined(CONFIG_CRYPTO_DRBG_CTR) >>> >>> -#warning "The DRBG code is useless without compiling at least one DRBG >>> type" -#endif >>> +#define CRYPTO_DRBG_NONE_STRING "none " >>> +static int __init drbg_init(void) >>> +{ >>> + pr_warn("DRBG: no DRBG core was compiled!\n"); >>> + return -EFAULT; >>> +} >>> +#else >> >> Wouldn't this be better handled by Kconfig so that we don't even try to >> build this unless one of the required core modules is chosen? > > I tried that, but it seems that my Kconfig Foo is not too well: adding the > DRBG cores to the depends line of CRYPTO_DRBG as indicated in the following, I > have a circular dependency. With that circular dependency, the DRBG entries do > not show up in make menuconfig. > > menuconfig CRYTPO_DRBG > tristate "NIST SP800-90A DRBG" > depends on CRYPTO && (CRYPTO_DRBG_HMAC || CRYPTO_DRBG_CTR || > CRYPTO_DRBG_HASH) > ... > > if CRYTPO_DRBG > > config CRYPTO_DRBG_HMAC > bool "Enable HMAC DRBG" > default y > depends on CRYTPO_DRBG > > Do you have a working solution in mind? The goal is that once CRYPTO_DRBG is > selected, at least one of the DRBG cores must be selected. That sounds like a 'choice' Kconfig could be used. Have you looked at that possibility? See Documentation/kbuild/kconfig-language.txt and search for 'choice'. -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html