Messages in this thread Patch in this message | | | Date | Wed, 28 Nov 2007 11:05:49 -0500 | From | Vlad Yasevich <> | Subject | Re: [build bug] SCTP, net/sctp/auth.c, ./net/rxrpc/ar-key.c fails to build |
| |
Ingo Molnar wrote: > * Vlad Yasevich <vladislav.yasevich@hp.com> wrote: > >>>> this is a build regression over v2.6.23. config attached. >>> the patch below fix it (or rather, works it around). >>> >> The patch is an OK workaround, but may not yield a working SCTP. >> >> Let me see if I can do better.. > > i'd be glad to test any patch. Note, the config was generated via 'make > randconfig', for automated build and boot QA, and "working SCTP" is not > something that is necessary for such a kernel to boot. So the workaround > might be fine as well - not all config space combinations that are > reachable via 'make randconfig' make "sense", but they should still > build and boot fine. > > Ingo >
I am testing with this patch right now...
-vlad diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h index da8354e..e71b5f1 100644 --- a/include/net/sctp/constants.h +++ b/include/net/sctp/constants.h @@ -438,11 +438,14 @@ enum { SCTP_AUTH_HMAC_ID_RESERVED_0, SCTP_AUTH_HMAC_ID_SHA1, SCTP_AUTH_HMAC_ID_RESERVED_2, - SCTP_AUTH_HMAC_ID_SHA256 +#if defined (CONFIG_CRYPTO_SHA256) || defined (CONFIG_CRYPTO_SHA256_MODULE) + SCTP_AUTH_HMAC_ID_SHA256, +#endif + __SCTP_AUTH_HMAC_MAX }; -#define SCTP_AUTH_HMAC_ID_MAX SCTP_AUTH_HMAC_ID_SHA256 -#define SCTP_AUTH_NUM_HMACS (SCTP_AUTH_HMAC_ID_SHA256 + 1) +#define SCTP_AUTH_HMAC_ID_MAX __SCTP_AUTH_HMAC_MAX - 1 +#define SCTP_AUTH_NUM_HMACS __SCTP_AUTH_HMAC_MAX #define SCTP_SHA1_SIG_SIZE 20 #define SCTP_SHA256_SIG_SIZE 32 diff --git a/net/sctp/Kconfig b/net/sctp/Kconfig index 8210f54..5390bc7 100644 --- a/net/sctp/Kconfig +++ b/net/sctp/Kconfig @@ -6,9 +6,9 @@ menuconfig IP_SCTP tristate "The SCTP Protocol (EXPERIMENTAL)" depends on INET && EXPERIMENTAL depends on IPV6 || IPV6=n - select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5 - select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5 - select CRYPTO_SHA1 if SCTP_HMAC_SHA1 + select CRYPTO + select CRYPTO_HMAC + select CRYPTO_SHA1 select CRYPTO_MD5 if SCTP_HMAC_MD5 ---help--- Stream Control Transmission Protocol diff --git a/net/sctp/auth.c b/net/sctp/auth.c index 6d5fa6b..64b5c7a 100644 --- a/net/sctp/auth.c +++ b/net/sctp/auth.c @@ -54,11 +54,13 @@ static struct sctp_hmac sctp_hmac_list[SCTP_AUTH_NUM_HMACS] = { /* id 2 is reserved as well */ .hmac_id = SCTP_AUTH_HMAC_ID_RESERVED_2, }, +#if defined (CONFIG_CRYPTO_SHA256) || defined (CONFIG_CRYPTO_SHA256_MODULE) { .hmac_id = SCTP_AUTH_HMAC_ID_SHA256, .hmac_name="hmac(sha256)", .hmac_len = SCTP_SHA256_SIG_SIZE, } +#endif }; | |