summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-03 03:38:26 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-02-03 03:38:26 +0000
commit99f91a79631fa10beb01a309d2814c21bdf5a7b8 (patch)
tree1a266d039a2a6fcf5a9149c2cfaff253a0fb6745
parent54023e75037f2310e53f4573e603e0b0ced48ede (diff)
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
-rw-r--r--target/linux/generic-2.6/config-2.6.321
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/260-crypto_optional_tests.patch63
2 files changed, 64 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/config-2.6.32 b/target/linux/generic-2.6/config-2.6.32
index ac2fe66188..f3d500f99d 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 0000000000..0808c778e9
--- /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 */