Lines Matching refs:template

201 static int __test_hash(struct crypto_ahash *tfm, struct hash_testvec *template,  in __test_hash()  argument
238 if (template[i].np) in __test_hash()
242 if (WARN_ON(align_offset + template[i].psize > PAGE_SIZE)) in __test_hash()
251 memcpy(hash_buff, template[i].plaintext, template[i].psize); in __test_hash()
252 sg_init_one(&sg[0], hash_buff, template[i].psize); in __test_hash()
254 if (template[i].ksize) { in __test_hash()
256 if (template[i].ksize > MAX_KEYLEN) { in __test_hash()
258 j, algo, template[i].ksize, MAX_KEYLEN); in __test_hash()
262 memcpy(key, template[i].key, template[i].ksize); in __test_hash()
263 ret = crypto_ahash_setkey(tfm, key, template[i].ksize); in __test_hash()
272 ahash_request_set_crypt(req, sg, result, template[i].psize); in __test_hash()
301 if (memcmp(result, template[i].digest, in __test_hash()
317 if (!template[i].np) in __test_hash()
324 sg_init_table(sg, template[i].np); in __test_hash()
326 for (k = 0; k < template[i].np; k++) { in __test_hash()
328 template[i].tap[k] > PAGE_SIZE)) in __test_hash()
333 template[i].plaintext + temp, in __test_hash()
334 template[i].tap[k]), in __test_hash()
335 template[i].tap[k]); in __test_hash()
336 temp += template[i].tap[k]; in __test_hash()
339 if (template[i].ksize) { in __test_hash()
340 if (template[i].ksize > MAX_KEYLEN) { in __test_hash()
342 j, algo, template[i].ksize, MAX_KEYLEN); in __test_hash()
347 memcpy(key, template[i].key, template[i].ksize); in __test_hash()
348 ret = crypto_ahash_setkey(tfm, key, template[i].ksize); in __test_hash()
358 ahash_request_set_crypt(req, sg, result, template[i].psize); in __test_hash()
378 if (memcmp(result, template[i].digest, in __test_hash()
400 static int test_hash(struct crypto_ahash *tfm, struct hash_testvec *template, in test_hash() argument
406 ret = __test_hash(tfm, template, tcount, use_digest, 0); in test_hash()
411 ret = __test_hash(tfm, template, tcount, use_digest, 1); in test_hash()
418 ret = __test_hash(tfm, template, tcount, use_digest, in test_hash()
428 struct aead_testvec *template, unsigned int tcount, in __test_aead() argument
492 if (template[i].np) in __test_aead()
505 if (WARN_ON(align_offset + template[i].ilen > in __test_aead()
506 PAGE_SIZE || template[i].alen > PAGE_SIZE)) in __test_aead()
509 memcpy(input, template[i].input, template[i].ilen); in __test_aead()
510 memcpy(assoc, template[i].assoc, template[i].alen); in __test_aead()
512 if (template[i].iv) in __test_aead()
513 memcpy(iv, template[i].iv, iv_len); in __test_aead()
518 if (template[i].wk) in __test_aead()
521 if (template[i].klen > MAX_KEYLEN) { in __test_aead()
523 d, j, algo, template[i].klen, in __test_aead()
528 memcpy(key, template[i].key, template[i].klen); in __test_aead()
530 ret = crypto_aead_setkey(tfm, key, template[i].klen); in __test_aead()
531 if (!ret == template[i].fail) { in __test_aead()
538 authsize = abs(template[i].rlen - template[i].ilen); in __test_aead()
546 k = !!template[i].alen; in __test_aead()
548 sg_set_buf(&sg[0], assoc, template[i].alen); in __test_aead()
550 template[i].ilen + (enc ? authsize : 0)); in __test_aead()
555 sg_set_buf(&sgout[0], assoc, template[i].alen); in __test_aead()
560 template[i].rlen + (enc ? 0 : authsize)); in __test_aead()
564 template[i].ilen, iv); in __test_aead()
566 aead_request_set_ad(req, template[i].alen); in __test_aead()
572 if (template[i].novrfy) { in __test_aead()
589 if (template[i].novrfy) in __test_aead()
600 if (memcmp(q, template[i].result, template[i].rlen)) { in __test_aead()
603 hexdump(q, template[i].rlen); in __test_aead()
614 if (!template[i].np) in __test_aead()
619 if (template[i].iv) in __test_aead()
620 memcpy(iv, template[i].iv, MAX_IVLEN); in __test_aead()
625 if (template[i].wk) in __test_aead()
627 if (template[i].klen > MAX_KEYLEN) { in __test_aead()
629 d, j, algo, template[i].klen, MAX_KEYLEN); in __test_aead()
633 memcpy(key, template[i].key, template[i].klen); in __test_aead()
635 ret = crypto_aead_setkey(tfm, key, template[i].klen); in __test_aead()
636 if (!ret == template[i].fail) { in __test_aead()
643 authsize = abs(template[i].rlen - template[i].ilen); in __test_aead()
646 sg_init_table(sg, template[i].anp + template[i].np); in __test_aead()
648 sg_init_table(sgout, template[i].anp + template[i].np); in __test_aead()
651 for (k = 0, temp = 0; k < template[i].anp; k++) { in __test_aead()
653 template[i].atap[k] > PAGE_SIZE)) in __test_aead()
658 template[i].assoc + temp, in __test_aead()
659 template[i].atap[k]), in __test_aead()
660 template[i].atap[k]); in __test_aead()
665 template[i].atap[k]); in __test_aead()
666 temp += template[i].atap[k]; in __test_aead()
669 for (k = 0, temp = 0; k < template[i].np; k++) { in __test_aead()
671 template[i].tap[k] > PAGE_SIZE)) in __test_aead()
675 memcpy(q, template[i].input + temp, template[i].tap[k]); in __test_aead()
676 sg_set_buf(&sg[template[i].anp + k], in __test_aead()
677 q, template[i].tap[k]); in __test_aead()
683 memset(q, 0, template[i].tap[k]); in __test_aead()
685 sg_set_buf(&sgout[template[i].anp + k], in __test_aead()
686 q, template[i].tap[k]); in __test_aead()
689 n = template[i].tap[k]; in __test_aead()
690 if (k == template[i].np - 1 && enc) in __test_aead()
695 temp += template[i].tap[k]; in __test_aead()
706 if (WARN_ON(sg[template[i].anp + k - 1].offset + in __test_aead()
707 sg[template[i].anp + k - 1].length + in __test_aead()
714 sgout[template[i].anp + k - 1].length += in __test_aead()
716 sg[template[i].anp + k - 1].length += authsize; in __test_aead()
720 template[i].ilen, in __test_aead()
723 aead_request_set_ad(req, template[i].alen); in __test_aead()
729 if (template[i].novrfy) { in __test_aead()
746 if (template[i].novrfy) in __test_aead()
757 for (k = 0, temp = 0; k < template[i].np; k++) { in __test_aead()
765 n = template[i].tap[k]; in __test_aead()
766 if (k == template[i].np - 1) in __test_aead()
769 if (memcmp(q, template[i].result + temp, n)) { in __test_aead()
777 if (k == template[i].np - 1 && !enc) { in __test_aead()
779 memcmp(q, template[i].input + in __test_aead()
795 temp += template[i].tap[k]; in __test_aead()
818 struct aead_testvec *template, unsigned int tcount) in test_aead() argument
824 ret = __test_aead(tfm, enc, template, tcount, false, 0); in test_aead()
829 ret = __test_aead(tfm, enc, template, tcount, true, 0); in test_aead()
834 ret = __test_aead(tfm, enc, template, tcount, true, 1); in test_aead()
841 ret = __test_aead(tfm, enc, template, tcount, true, in test_aead()
851 struct cipher_testvec *template, unsigned int tcount) in test_cipher() argument
871 if (template[i].np) in test_cipher()
877 if (WARN_ON(template[i].ilen > PAGE_SIZE)) in test_cipher()
881 memcpy(data, template[i].input, template[i].ilen); in test_cipher()
884 if (template[i].wk) in test_cipher()
887 ret = crypto_cipher_setkey(tfm, template[i].key, in test_cipher()
888 template[i].klen); in test_cipher()
889 if (!ret == template[i].fail) { in test_cipher()
897 for (k = 0; k < template[i].ilen; in test_cipher()
908 if (memcmp(q, template[i].result, template[i].rlen)) { in test_cipher()
911 hexdump(q, template[i].rlen); in test_cipher()
926 struct cipher_testvec *template, unsigned int tcount, in __test_skcipher() argument
975 if (template[i].np && !template[i].also_non_np) in __test_skcipher()
978 if (template[i].iv) in __test_skcipher()
979 memcpy(iv, template[i].iv, ivsize); in __test_skcipher()
985 if (WARN_ON(align_offset + template[i].ilen > PAGE_SIZE)) in __test_skcipher()
990 memcpy(data, template[i].input, template[i].ilen); in __test_skcipher()
993 if (template[i].wk) in __test_skcipher()
997 ret = crypto_skcipher_setkey(tfm, template[i].key, in __test_skcipher()
998 template[i].klen); in __test_skcipher()
999 if (!ret == template[i].fail) { in __test_skcipher()
1006 sg_init_one(&sg[0], data, template[i].ilen); in __test_skcipher()
1010 sg_init_one(&sgout[0], data, template[i].ilen); in __test_skcipher()
1014 template[i].ilen, iv); in __test_skcipher()
1036 if (memcmp(q, template[i].result, template[i].rlen)) { in __test_skcipher()
1039 hexdump(q, template[i].rlen); in __test_skcipher()
1044 if (template[i].iv_out && in __test_skcipher()
1045 memcmp(iv, template[i].iv_out, in __test_skcipher()
1061 if (!template[i].np) in __test_skcipher()
1064 if (template[i].iv) in __test_skcipher()
1065 memcpy(iv, template[i].iv, ivsize); in __test_skcipher()
1071 if (template[i].wk) in __test_skcipher()
1075 ret = crypto_skcipher_setkey(tfm, template[i].key, in __test_skcipher()
1076 template[i].klen); in __test_skcipher()
1077 if (!ret == template[i].fail) { in __test_skcipher()
1086 sg_init_table(sg, template[i].np); in __test_skcipher()
1088 sg_init_table(sgout, template[i].np); in __test_skcipher()
1089 for (k = 0; k < template[i].np; k++) { in __test_skcipher()
1091 template[i].tap[k] > PAGE_SIZE)) in __test_skcipher()
1096 memcpy(q, template[i].input + temp, template[i].tap[k]); in __test_skcipher()
1098 if (offset_in_page(q) + template[i].tap[k] < PAGE_SIZE) in __test_skcipher()
1099 q[template[i].tap[k]] = 0; in __test_skcipher()
1101 sg_set_buf(&sg[k], q, template[i].tap[k]); in __test_skcipher()
1106 sg_set_buf(&sgout[k], q, template[i].tap[k]); in __test_skcipher()
1108 memset(q, 0, template[i].tap[k]); in __test_skcipher()
1110 template[i].tap[k] < PAGE_SIZE) in __test_skcipher()
1111 q[template[i].tap[k]] = 0; in __test_skcipher()
1114 temp += template[i].tap[k]; in __test_skcipher()
1118 template[i].ilen, iv); in __test_skcipher()
1142 for (k = 0; k < template[i].np; k++) { in __test_skcipher()
1150 if (memcmp(q, template[i].result + temp, in __test_skcipher()
1151 template[i].tap[k])) { in __test_skcipher()
1154 hexdump(q, template[i].tap[k]); in __test_skcipher()
1158 q += template[i].tap[k]; in __test_skcipher()
1167 temp += template[i].tap[k]; in __test_skcipher()
1184 struct cipher_testvec *template, unsigned int tcount) in test_skcipher() argument
1190 ret = __test_skcipher(tfm, enc, template, tcount, false, 0); in test_skcipher()
1195 ret = __test_skcipher(tfm, enc, template, tcount, true, 0); in test_skcipher()
1200 ret = __test_skcipher(tfm, enc, template, tcount, true, 1); in test_skcipher()
1207 ret = __test_skcipher(tfm, enc, template, tcount, true, in test_skcipher()
1473 static int test_cprng(struct crypto_rng *tfm, struct cprng_testvec *template, in test_cprng() argument
1493 memcpy(seed, template[i].v, template[i].vlen); in test_cprng()
1494 memcpy(seed + template[i].vlen, template[i].key, in test_cprng()
1495 template[i].klen); in test_cprng()
1496 memcpy(seed + template[i].vlen + template[i].klen, in test_cprng()
1497 template[i].dt, template[i].dtlen); in test_cprng()
1506 for (j = 0; j < template[i].loops; j++) { in test_cprng()
1508 template[i].rlen); in test_cprng()
1513 template[i].rlen); in test_cprng()
1518 err = memcmp(result, template[i].result, in test_cprng()
1519 template[i].rlen); in test_cprng()
1523 hexdump(result, template[i].rlen); in test_cprng()
1830 struct drbg_testvec *template = desc->suite.drbg.vecs; in alg_test_drbg() local
1837 err = drbg_cavs_test(&template[i], pr, driver, type, mask); in alg_test_drbg()