summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-2.6.37/260-crypto_optional_tests.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-2.6.37/260-crypto_optional_tests.patch')
-rw-r--r--target/linux/generic/patches-2.6.37/260-crypto_optional_tests.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/target/linux/generic/patches-2.6.37/260-crypto_optional_tests.patch b/target/linux/generic/patches-2.6.37/260-crypto_optional_tests.patch
new file mode 100644
index 0000000..28352ed
--- /dev/null
+++ b/target/linux/generic/patches-2.6.37/260-crypto_optional_tests.patch
@@ -0,0 +1,64 @@
+--- a/crypto/Kconfig
++++ b/crypto/Kconfig
+@@ -108,6 +108,10 @@ config CRYPTO_MANAGER_DISABLE_TESTS
+ Disable run-time self tests that normally take place at
+ algorithm registration.
+
++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
+@@ -58,6 +58,8 @@ int alg_test(const char *driver, const c
+ #define ENCRYPT 1
+ #define DECRYPT 0
+
++#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS
++
+ struct tcrypt_result {
+ struct completion completion;
+ int err;
+@@ -2484,8 +2486,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;
+@@ -2540,6 +2545,9 @@ notest:
+ return 0;
+ non_fips_alg:
+ return -EINVAL;
++#else /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
++ return 0;
++#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
+ }
+
+ #endif /* CONFIG_CRYPTO_MANAGER_DISABLE_TESTS */
+--- 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
+
+@@ -9608,4 +9610,6 @@ static struct hash_testvec crc32c_tv_tem
+ },
+ };
+
++#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */
++
+ #endif /* _CRYPTO_TESTMGR_H */