[LTP] [PATCH] crypto/af_alg0[13]: update tests for additional possible errno case

Avinesh Kumar akumar@suse.de
Mon Nov 4 16:33:59 CET 2024


kernel behaviour wrt checking invalid algorithms has changed [1] [2]
updating the tests to address the additional errno case.
Related discussion on the mailing list [3]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e7a4142b35ce489fc8908d75596c51549711ade0
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=795f85fca229a88543a0a706039f901106bf11c1
[3] https://lore.kernel.org/lkml/20240924222839.GC1585@sol.localdomain/

Signed-off-by: Avinesh Kumar <akumar@suse.de>
---
 lib/tst_af_alg.c                   | 1 +
 testcases/kernel/crypto/af_alg01.c | 5 ++++-
 testcases/kernel/crypto/af_alg03.c | 5 ++++-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/tst_af_alg.c b/lib/tst_af_alg.c
index f5437c5c5..a14f9865c 100644
--- a/lib/tst_af_alg.c
+++ b/lib/tst_af_alg.c
@@ -103,6 +103,7 @@ bool tst_have_alg(const char *algtype, const char *algname)
 	case 0:
 		return true;
 	case ENOENT:
+	case EINVAL:
 		tst_res(TCONF, "kernel doesn't have %s algorithm '%s'",
 			algtype, algname);
 		return false;
diff --git a/testcases/kernel/crypto/af_alg01.c b/testcases/kernel/crypto/af_alg01.c
index 7cefe5946..2100b3698 100644
--- a/testcases/kernel/crypto/af_alg01.c
+++ b/testcases/kernel/crypto/af_alg01.c
@@ -21,6 +21,7 @@ static void test_with_hash_alg(const char *hash_algname)
 {
 	char hmac_algname[64];
 	char key[4096] = { 0 };
+	int ret;
 
 	if (!tst_have_alg("hash", hash_algname))
 		return;
@@ -30,7 +31,9 @@ static void test_with_hash_alg(const char *hash_algname)
 		return;
 
 	sprintf(hmac_algname, "hmac(hmac(%s))", hash_algname);
-	if (tst_try_alg("hash", hmac_algname) != ENOENT) {
+
+	ret = tst_try_alg("hash", hmac_algname);
+	if (ret != ENOENT && ret != EINVAL) {
 		int algfd;
 
 		tst_res(TFAIL, "instantiated nested hmac algorithm ('%s')!",
diff --git a/testcases/kernel/crypto/af_alg03.c b/testcases/kernel/crypto/af_alg03.c
index bb8d480e2..d7d385883 100644
--- a/testcases/kernel/crypto/af_alg03.c
+++ b/testcases/kernel/crypto/af_alg03.c
@@ -15,10 +15,13 @@
 
 static void run(void)
 {
+	int ret;
+
 	tst_require_alg("aead", "rfc7539(chacha20,poly1305)");
 	tst_require_alg("hash", "sha256");
 
-	if (tst_try_alg("aead", "rfc7539(chacha20,sha256)") != ENOENT) {
+	ret = tst_try_alg("aead", "rfc7539(chacha20,sha256)");
+	if ( ret != ENOENT && ret != EINVAL) {
 		tst_res(TFAIL,
 			"instantiated rfc7539 template with wrong digest size");
 	} else {
-- 
2.43.0



More information about the ltp mailing list