diff mbox

[-next] net: avoid inet dependency on aes crypto

Message ID 1366637403-11212-1-git-send-email-fw@strlen.de
State Rejected, archived
Delegated to: David Miller
Headers show

Commit Message

Florian Westphal April 22, 2013, 1:30 p.m. UTC
commit 798b2cbf9227b1bd7d37ae9af4d9c750e6f4de9c
(net: Add INET dependency on aes crypto for the sake of TCP fastopen.)
results in aes-asm module no longer being loaded when AES cipher is
requested, due to CRYPTO_AES=y.

However, there is no link-time dependency on aes. Drop dep and instead
set "default m" for aes crypto if inet is enabled.

Signed-off-by: Florian Westphal <fw@strlen.de>
---
 crypto/Kconfig |    1 +
 net/Kconfig    |    1 -
 2 files changed, 1 insertions(+), 1 deletions(-)

Comments

David Miller April 22, 2013, 7:25 p.m. UTC | #1
From: Florian Westphal <fw@strlen.de>
Date: Mon, 22 Apr 2013 15:30:03 +0200

> commit 798b2cbf9227b1bd7d37ae9af4d9c750e6f4de9c
> (net: Add INET dependency on aes crypto for the sake of TCP fastopen.)
> results in aes-asm module no longer being loaded when AES cipher is
> requested, due to CRYPTO_AES=y.
> 
> However, there is no link-time dependency on aes. Drop dep and instead
> set "default m" for aes crypto if inet is enabled.
> 
> Signed-off-by: Florian Westphal <fw@strlen.de>

This is terrible on so many levels.

If the assembler versions of the AES module can't be loaded properly
when AES is built statically into the kernel, don't work around it,
fix it instead.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Hutchings April 22, 2013, 7:50 p.m. UTC | #2
On Mon, 2013-04-22 at 15:25 -0400, David Miller wrote:
> From: Florian Westphal <fw@strlen.de>
> Date: Mon, 22 Apr 2013 15:30:03 +0200
> 
> > commit 798b2cbf9227b1bd7d37ae9af4d9c750e6f4de9c
> > (net: Add INET dependency on aes crypto for the sake of TCP fastopen.)
> > results in aes-asm module no longer being loaded when AES cipher is
> > requested, due to CRYPTO_AES=y.
> > 
> > However, there is no link-time dependency on aes. Drop dep and instead
> > set "default m" for aes crypto if inet is enabled.
> > 
> > Signed-off-by: Florian Westphal <fw@strlen.de>
> 
> This is terrible on so many levels.
> 
> If the assembler versions of the AES module can't be loaded properly
> when AES is built statically into the kernel, don't work around it,
> fix it instead.

On x86 the appropriate optimised aes implementation should still be
loaded based on an 'x86cpu' alias.  I don't know whether it will end up
being used.

It doesn't look like anything similar has been done for other
architectures yet, but that is probably the way to go.

Ben.
diff mbox

Patch

diff --git a/crypto/Kconfig b/crypto/Kconfig
index 05c0ce5..151b3e0 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -584,6 +584,7 @@  comment "Ciphers"
 
 config CRYPTO_AES
 	tristate "AES cipher algorithms"
+	default m if INET
 	select CRYPTO_ALGAPI
 	help
 	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
diff --git a/net/Kconfig b/net/Kconfig
index 1a22216..a1d2cab 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -62,7 +62,6 @@  source "net/iucv/Kconfig"
 config INET
 	bool "TCP/IP networking"
 	select CRYPTO
-	select CRYPTO_AES
 	---help---
 	  These are the protocols used on the Internet and on most local
 	  Ethernets. It is highly recommended to say Y here (this will enlarge