Browse Source

crypto: testmgr - delay execution of set-up code

Prepare IV array only if the dependent code is executed.

Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cristian Stoica 11 years ago
parent
commit
bbb9a7dd7f
1 changed files with 6 additions and 8 deletions
  1. 6 8
      crypto/testmgr.c

+ 6 - 8
crypto/testmgr.c

@@ -961,16 +961,15 @@ static int __test_skcipher(struct crypto_ablkcipher *tfm, int enc,
 
 
 	j = 0;
 	j = 0;
 	for (i = 0; i < tcount; i++) {
 	for (i = 0; i < tcount; i++) {
+		if (template[i].np && !template[i].also_non_np)
+			continue;
+
 		if (template[i].iv)
 		if (template[i].iv)
 			memcpy(iv, template[i].iv, MAX_IVLEN);
 			memcpy(iv, template[i].iv, MAX_IVLEN);
 		else
 		else
 			memset(iv, 0, MAX_IVLEN);
 			memset(iv, 0, MAX_IVLEN);
 
 
-		if (template[i].np && !template[i].also_non_np)
-			continue;
-
 		j++;
 		j++;
-
 		ret = -EINVAL;
 		ret = -EINVAL;
 		if (WARN_ON(align_offset + template[i].ilen > PAGE_SIZE))
 		if (WARN_ON(align_offset + template[i].ilen > PAGE_SIZE))
 			goto out;
 			goto out;
@@ -1038,16 +1037,15 @@ static int __test_skcipher(struct crypto_ablkcipher *tfm, int enc,
 		if (align_offset != 0)
 		if (align_offset != 0)
 			break;
 			break;
 
 
+		if (!template[i].np)
+			continue;
+
 		if (template[i].iv)
 		if (template[i].iv)
 			memcpy(iv, template[i].iv, MAX_IVLEN);
 			memcpy(iv, template[i].iv, MAX_IVLEN);
 		else
 		else
 			memset(iv, 0, MAX_IVLEN);
 			memset(iv, 0, MAX_IVLEN);
 
 
-		if (!template[i].np)
-			continue;
-
 		j++;
 		j++;
-
 		crypto_ablkcipher_clear_flags(tfm, ~0);
 		crypto_ablkcipher_clear_flags(tfm, ~0);
 		if (template[i].wk)
 		if (template[i].wk)
 			crypto_ablkcipher_set_flags(tfm, CRYPTO_TFM_REQ_WEAK_KEY);
 			crypto_ablkcipher_set_flags(tfm, CRYPTO_TFM_REQ_WEAK_KEY);