Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md...
[linux-2.6-block.git] / crypto / tcrypt.c
index c20c9f5c18f229c3c878528b343e29bd4883d703..e7fb87e114a5b13eee7c12d245731284cf3ca9ba 100644 (file)
@@ -76,10 +76,12 @@ static char *check[] = {
        "cast6", "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea",
        "khazad", "wp512", "wp384", "wp256", "tnepres", "xeta",  "fcrypt",
        "camellia", "seed", "salsa20", "rmd128", "rmd160", "rmd256", "rmd320",
-       "lzo", "cts", "sha3-224", "sha3-256", "sha3-384", "sha3-512", NULL
+       "lzo", "cts", "sha3-224", "sha3-256", "sha3-384", "sha3-512",
+       "streebog256", "streebog512",
+       NULL
 };
 
-static u32 block_sizes[] = { 16, 64, 256, 1024, 8192, 0 };
+static u32 block_sizes[] = { 16, 64, 256, 1024, 1472, 8192, 0 };
 static u32 aead_sizes[] = { 16, 64, 256, 512, 1024, 2048, 4096, 8192, 0 };
 
 #define XBUFSIZE 8
@@ -1736,6 +1738,7 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                ret += tcrypt_test("ctr(aes)");
                ret += tcrypt_test("rfc3686(ctr(aes))");
                ret += tcrypt_test("ofb(aes)");
+               ret += tcrypt_test("cfb(aes)");
                break;
 
        case 11:
@@ -1913,6 +1916,14 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                ret += tcrypt_test("sm3");
                break;
 
+       case 53:
+               ret += tcrypt_test("streebog256");
+               break;
+
+       case 54:
+               ret += tcrypt_test("streebog512");
+               break;
+
        case 100:
                ret += tcrypt_test("hmac(md5)");
                break;
@@ -1969,6 +1980,14 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                ret += tcrypt_test("hmac(sha3-512)");
                break;
 
+       case 115:
+               ret += tcrypt_test("hmac(streebog256)");
+               break;
+
+       case 116:
+               ret += tcrypt_test("hmac(streebog512)");
+               break;
+
        case 150:
                ret += tcrypt_test("ansi_cprng");
                break;
@@ -2060,6 +2079,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                                speed_template_16_24_32);
                test_cipher_speed("ctr(aes)", DECRYPT, sec, NULL, 0,
                                speed_template_16_24_32);
+               test_cipher_speed("cfb(aes)", ENCRYPT, sec, NULL, 0,
+                               speed_template_16_24_32);
+               test_cipher_speed("cfb(aes)", DECRYPT, sec, NULL, 0,
+                               speed_template_16_24_32);
                break;
 
        case 201:
@@ -2297,6 +2320,18 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                test_cipher_speed("ctr(sm4)", DECRYPT, sec, NULL, 0,
                                speed_template_16);
                break;
+
+       case 219:
+               test_cipher_speed("adiantum(xchacha12,aes)", ENCRYPT, sec, NULL,
+                                 0, speed_template_32);
+               test_cipher_speed("adiantum(xchacha12,aes)", DECRYPT, sec, NULL,
+                                 0, speed_template_32);
+               test_cipher_speed("adiantum(xchacha20,aes)", ENCRYPT, sec, NULL,
+                                 0, speed_template_32);
+               test_cipher_speed("adiantum(xchacha20,aes)", DECRYPT, sec, NULL,
+                                 0, speed_template_32);
+               break;
+
        case 300:
                if (alg) {
                        test_hash_speed(alg, sec, generic_hash_speed_template);
@@ -2407,6 +2442,16 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                test_hash_speed("sm3", sec, generic_hash_speed_template);
                if (mode > 300 && mode < 400) break;
                /* fall through */
+       case 327:
+               test_hash_speed("streebog256", sec,
+                               generic_hash_speed_template);
+               if (mode > 300 && mode < 400) break;
+               /* fall through */
+       case 328:
+               test_hash_speed("streebog512", sec,
+                               generic_hash_speed_template);
+               if (mode > 300 && mode < 400) break;
+               /* fall through */
        case 399:
                break;
 
@@ -2520,6 +2565,16 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
                                    num_mb);
                if (mode > 400 && mode < 500) break;
                /* fall through */
+       case 426:
+               test_mb_ahash_speed("streebog256", sec,
+                                   generic_hash_speed_template, num_mb);
+               if (mode > 400 && mode < 500) break;
+               /* fall through */
+       case 427:
+               test_mb_ahash_speed("streebog512", sec,
+                                   generic_hash_speed_template, num_mb);
+               if (mode > 400 && mode < 500) break;
+               /* fall through */
        case 499:
                break;