c4dc547
From 6c79294f44fd7d1122cbaabff3b9815b074c0dd0 Mon Sep 17 00:00:00 2001
c4dc547
From: Milan Broz <mbroz@redhat.com>
c4dc547
Date: Fri, 29 Jun 2012 22:08:09 +0200
c4dc547
Subject: [PATCH] crypto: testmgr - allow aesni-intel and ghash_clmulni-intel
c4dc547
 in fips mode
c4dc547
c4dc547
Patch 863b557a88f8c033f7419fabafef4712a5055f85 added NULL entries
c4dc547
for intel accelerated drivers but did not marked these fips allowed.
c4dc547
This cause panic if running tests with fips=1.
c4dc547
c4dc547
For ghash, fips_allowed flag was added in patch
c4dc547
18c0ebd2d8194cce4b3f67e2903fa01bea892cbc.
c4dc547
c4dc547
Without patch, "modprobe tcrypt" fails with
c4dc547
  alg: skcipher: Failed to load transform for cbc-aes-aesni: -2
c4dc547
  cbc-aes-aesni: cbc(aes) alg self test failed in fips mode!
c4dc547
  (panic)
c4dc547
c4dc547
Also add missing cryptd(__driver-cbc-aes-aesni) and
c4dc547
cryptd(__driver-gcm-aes-aesni) test to complement
c4dc547
null tests above, otherwise system complains with
c4dc547
  alg: No test for __cbc-aes-aesni (cryptd(__driver-cbc-aes-aesni))
c4dc547
  alg: No test for __gcm-aes-aesni (cryptd(__driver-gcm-aes-aesni))
c4dc547
c4dc547
Signed-off-by: Milan Broz <mbroz@redhat.com>
c4dc547
Signed-off-by: Paul Wouters <pwouters@redhat.com>
c4dc547
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
c4dc547
---
c4dc547
 crypto/testmgr.c |   38 ++++++++++++++++++++++++++++++++++++++
c4dc547
 1 files changed, 38 insertions(+), 0 deletions(-)
c4dc547
c4dc547
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
c4dc547
index 36748a5..4308a11 100644
c4dc547
--- a/crypto/testmgr.c
c4dc547
+++ b/crypto/testmgr.c
c4dc547
@@ -1581,6 +1581,7 @@ static const struct alg_test_desc alg_test_descs[] = {
c4dc547
 	}, {
c4dc547
 		.alg = "__driver-cbc-aes-aesni",
c4dc547
 		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
 		.suite = {
c4dc547
 			.cipher = {
c4dc547
 				.enc = {
c4dc547
@@ -1641,6 +1642,7 @@ static const struct alg_test_desc alg_test_descs[] = {
c4dc547
 	}, {
c4dc547
 		.alg = "__driver-ecb-aes-aesni",
c4dc547
 		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
 		.suite = {
c4dc547
 			.cipher = {
c4dc547
 				.enc = {
c4dc547
@@ -1701,6 +1703,7 @@ static const struct alg_test_desc alg_test_descs[] = {
c4dc547
 	}, {
c4dc547
 		.alg = "__ghash-pclmulqdqni",
c4dc547
 		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
 		.suite = {
c4dc547
 			.hash = {
c4dc547
 				.vecs = NULL,
c4dc547
@@ -1866,8 +1869,25 @@ static const struct alg_test_desc alg_test_descs[] = {
c4dc547
 			}
c4dc547
 		}
c4dc547
 	}, {
c4dc547
+		.alg = "cryptd(__driver-cbc-aes-aesni)",
c4dc547
+		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
+		.suite = {
c4dc547
+			.cipher = {
c4dc547
+				.enc = {
c4dc547
+					.vecs = NULL,
c4dc547
+					.count = 0
c4dc547
+				},
c4dc547
+				.dec = {
c4dc547
+					.vecs = NULL,
c4dc547
+					.count = 0
c4dc547
+				}
c4dc547
+			}
c4dc547
+		}
c4dc547
+	}, {
c4dc547
 		.alg = "cryptd(__driver-ecb-aes-aesni)",
c4dc547
 		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
 		.suite = {
c4dc547
 			.cipher = {
c4dc547
 				.enc = {
c4dc547
@@ -1926,8 +1946,25 @@ static const struct alg_test_desc alg_test_descs[] = {
c4dc547
 			}
c4dc547
 		}
c4dc547
 	}, {
c4dc547
+		.alg = "cryptd(__driver-gcm-aes-aesni)",
c4dc547
+		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
+		.suite = {
c4dc547
+			.cipher = {
c4dc547
+				.enc = {
c4dc547
+					.vecs = NULL,
c4dc547
+					.count = 0
c4dc547
+				},
c4dc547
+				.dec = {
c4dc547
+					.vecs = NULL,
c4dc547
+					.count = 0
c4dc547
+				}
c4dc547
+			}
c4dc547
+		}
c4dc547
+	}, {
c4dc547
 		.alg = "cryptd(__ghash-pclmulqdqni)",
c4dc547
 		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
 		.suite = {
c4dc547
 			.hash = {
c4dc547
 				.vecs = NULL,
c4dc547
@@ -2043,6 +2080,7 @@ static const struct alg_test_desc alg_test_descs[] = {
c4dc547
 	}, {
c4dc547
 		.alg = "ecb(__aes-aesni)",
c4dc547
 		.test = alg_test_null,
c4dc547
+		.fips_allowed = 1,
c4dc547
 		.suite = {
c4dc547
 			.cipher = {
c4dc547
 				.enc = {
c4dc547
-- 
c4dc547
1.7.6.5
c4dc547