From 99f91a79631fa10beb01a309d2814c21bdf5a7b8 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 3 Feb 2010 03:38:26 +0000
Subject: save space by making the crypto testsuite optional and disabled by
 default

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19502 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 target/linux/generic-2.6/config-2.6.32             |  1 +
 .../patches-2.6.32/260-crypto_optional_tests.patch | 63 ++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 target/linux/generic-2.6/patches-2.6.32/260-crypto_optional_tests.patch

(limited to 'target/linux')

diff --git a/target/linux/generic-2.6/config-2.6.32 b/target/linux/generic-2.6/config-2.6.32
index ac2fe6618..f3d500f99 100644
--- a/target/linux/generic-2.6/config-2.6.32
+++ b/target/linux/generic-2.6/config-2.6.32
@@ -391,6 +391,7 @@ CONFIG_CRYPTO_ALGAPI=y
 # CONFIG_CRYPTO_LZO is not set
 # CONFIG_CRYPTO_MANAGER2 is not set
 # CONFIG_CRYPTO_MANAGER is not set
+CONFIG_CRYPTO_MANAGER_NO_TESTS=y
 # CONFIG_CRYPTO_MD4 is not set
 # CONFIG_CRYPTO_MD5 is not set
 # CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/target/linux/generic-2.6/patches-2.6.32/260-crypto_optional_tests.patch b/target/linux/generic-2.6/patches-2.6.32/260-crypto_optional_tests.patch
new file mode 100644
index 000000000..0808c778e
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.32/260-crypto_optional_tests.patch
@@ -0,0 +1,63 @@
+--- a/crypto/Kconfig
++++ b/crypto/Kconfig
+@@ -96,6 +96,10 @@ config CRYPTO_MANAGER2
+ 	select CRYPTO_BLKCIPHER2
+ 	select CRYPTO_PCOMP
+ 
++config CRYPTO_MANAGER_NO_TESTS
++	bool "Disable internal testsuite to save space"
++	depends on CRYPTO_MANAGER
++
+ config CRYPTO_GF128MUL
+ 	tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
+ 	depends on EXPERIMENTAL
+--- a/crypto/testmgr.c
++++ b/crypto/testmgr.c
+@@ -47,6 +47,8 @@
+ #define ENCRYPT 1
+ #define DECRYPT 0
+ 
++#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS
++
+ struct tcrypt_result {
+ 	struct completion completion;
+ 	int err;
+@@ -2350,8 +2352,11 @@ static int alg_find_test(const char *alg
+ 	return -1;
+ }
+ 
++#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
++
+ int alg_test(const char *driver, const char *alg, u32 type, u32 mask)
+ {
++#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS
+ 	int i;
+ 	int j;
+ 	int rc;
+@@ -2406,5 +2411,8 @@ notest:
+ 	return 0;
+ non_fips_alg:
+ 	return -EINVAL;
++#else /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
++	return 0;
++#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
+ }
+ EXPORT_SYMBOL_GPL(alg_test);
+--- a/crypto/testmgr.h
++++ b/crypto/testmgr.h
+@@ -20,6 +20,8 @@
+ 
+ #include <crypto/compress.h>
+ 
++#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS
++
+ #define MAX_DIGEST_SIZE		64
+ #define MAX_TAP			8
+ 
+@@ -9537,4 +9539,6 @@ static struct hash_testvec crc32c_tv_tem
+ 	},
+ };
+ 
++#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
++
+ #endif	/* _CRYPTO_TESTMGR_H */
-- 
cgit v1.2.3