[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