aead_geniv_* [crypto/seqiv.ko] undefined! (MMOTM stamp-2007-12-13-15-37)

From: Erez Zadok
Date: Thu Dec 13 2007 - 21:04:18 EST


I'm getting undefined symbols while building MMOTM kernel
stamp-2007-12-13-15-37:

MODPOST 32 modules
ERROR: "aead_geniv_exit" [crypto/seqiv.ko] undefined!
ERROR: "aead_geniv_alloc" [crypto/seqiv.ko] undefined!
ERROR: "aead_geniv_init" [crypto/seqiv.ko] undefined!
ERROR: "aead_geniv_free" [crypto/seqiv.ko] undefined!
make[1]: *** [__modpost] Error 1

My defined kernel symbols which are relevant are:

CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_CAST5=m

The missing symbols are in crypto/aead.c, but aead.c doesn't get compiled
in. It can't be compiled in b/c the config option for it doesn't seem to
show up in "make menuconfig". This simple patch makes the symbol show up in
menuconfig so I can turn it on:

diff --git a/crypto/Kconfig b/crypto/Kconfig
index 304ecc7..6876abe 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -25,7 +25,7 @@ config CRYPTO_ALGAPI
This option provides the API for cryptographic algorithms.

config CRYPTO_AEAD
- tristate
+ tristate "AEAD: Authenticated Encryption with Associated Data"
select CRYPTO_ALGAPI

config CRYPTO_BLKCIPHER

*However*, while the above small patch resolves the symbols, there's still a
problem: crypto/seqiv.c seems to depend unconditionally on symbols in
crypto/aead.c, so maybe seqiv.c needs some #ifdef CONFIG_CRYPTO_AEAD or
something.

Cheers,
Erez.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/