]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - crypto/testmgr.c
Merge tag 'backlight-for-linus-3.16' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / crypto / testmgr.c
index dc3cf3535ef034065752bb820fa6797628935c09..498649ac1953a619a2c35b3b87433cd6ac4bbd74 100644 (file)
@@ -414,16 +414,18 @@ static int __test_aead(struct crypto_aead *tfm, int enc,
        void *input;
        void *output;
        void *assoc;
-       char iv[MAX_IVLEN];
+       char *iv;
        char *xbuf[XBUFSIZE];
        char *xoutbuf[XBUFSIZE];
        char *axbuf[XBUFSIZE];
 
+       iv = kzalloc(MAX_IVLEN, GFP_KERNEL);
+       if (!iv)
+               return ret;
        if (testmgr_alloc_buf(xbuf))
                goto out_noxbuf;
        if (testmgr_alloc_buf(axbuf))
                goto out_noaxbuf;
-
        if (diff_dst && testmgr_alloc_buf(xoutbuf))
                goto out_nooutbuf;
 
@@ -767,6 +769,7 @@ out_nooutbuf:
 out_noaxbuf:
        testmgr_free_buf(xbuf);
 out_noxbuf:
+       kfree(iv);
        return ret;
 }
 
@@ -1831,8 +1834,38 @@ static const struct alg_test_desc alg_test_descs[] = {
                .suite = {
                        .aead = {
                                .enc = {
-                                       .vecs = hmac_sha1_aes_cbc_enc_tv_template,
-                                       .count = HMAC_SHA1_AES_CBC_ENC_TEST_VECTORS
+                                       .vecs =
+                                       hmac_sha1_aes_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA1_AES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha1),cbc(des))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha1_des_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA1_DES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha1),cbc(des3_ede))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha1_des3_ede_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA1_DES3_EDE_CBC_ENC_TEST_VEC
                                }
                        }
                }
@@ -1843,12 +1876,44 @@ static const struct alg_test_desc alg_test_descs[] = {
                .suite = {
                        .aead = {
                                .enc = {
-                                       .vecs = hmac_sha1_ecb_cipher_null_enc_tv_template,
-                                       .count = HMAC_SHA1_ECB_CIPHER_NULL_ENC_TEST_VECTORS
+                                       .vecs =
+                                       hmac_sha1_ecb_cipher_null_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA1_ECB_CIPHER_NULL_ENC_TEST_VEC
                                },
                                .dec = {
-                                       .vecs = hmac_sha1_ecb_cipher_null_dec_tv_template,
-                                       .count = HMAC_SHA1_ECB_CIPHER_NULL_DEC_TEST_VECTORS
+                                       .vecs =
+                                       hmac_sha1_ecb_cipher_null_dec_tv_temp,
+                                       .count =
+                                       HMAC_SHA1_ECB_CIPHER_NULL_DEC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha224),cbc(des))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha224_des_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA224_DES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha224),cbc(des3_ede))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha224_des3_ede_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA224_DES3_EDE_CBC_ENC_TEST_VEC
                                }
                        }
                }
@@ -1859,8 +1924,66 @@ static const struct alg_test_desc alg_test_descs[] = {
                .suite = {
                        .aead = {
                                .enc = {
-                                       .vecs = hmac_sha256_aes_cbc_enc_tv_template,
-                                       .count = HMAC_SHA256_AES_CBC_ENC_TEST_VECTORS
+                                       .vecs =
+                                       hmac_sha256_aes_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA256_AES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha256),cbc(des))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha256_des_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA256_DES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha256),cbc(des3_ede))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha256_des3_ede_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA256_DES3_EDE_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha384),cbc(des))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha384_des_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA384_DES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha384),cbc(des3_ede))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha384_des3_ede_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA384_DES3_EDE_CBC_ENC_TEST_VEC
                                }
                        }
                }
@@ -1871,8 +1994,38 @@ static const struct alg_test_desc alg_test_descs[] = {
                .suite = {
                        .aead = {
                                .enc = {
-                                       .vecs = hmac_sha512_aes_cbc_enc_tv_template,
-                                       .count = HMAC_SHA512_AES_CBC_ENC_TEST_VECTORS
+                                       .vecs =
+                                       hmac_sha512_aes_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA512_AES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha512),cbc(des))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha512_des_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA512_DES_CBC_ENC_TEST_VEC
+                               }
+                       }
+               }
+       }, {
+               .alg = "authenc(hmac(sha512),cbc(des3_ede))",
+               .test = alg_test_aead,
+               .fips_allowed = 1,
+               .suite = {
+                       .aead = {
+                               .enc = {
+                                       .vecs =
+                                       hmac_sha512_des3_ede_cbc_enc_tv_temp,
+                                       .count =
+                                       HMAC_SHA512_DES3_EDE_CBC_ENC_TEST_VEC
                                }
                        }
                }
@@ -3273,8 +3426,8 @@ test_done:
                panic("%s: %s alg self test failed in fips mode!\n", driver, alg);
 
        if (fips_enabled && !rc)
-               printk(KERN_INFO "alg: self-tests for %s (%s) passed\n",
-                      driver, alg);
+               pr_info(KERN_INFO "alg: self-tests for %s (%s) passed\n",
+                       driver, alg);
 
        return rc;