[LTP] [PATCH v2] syscalls/keyctl/keyctl09.c: fix test encrypted key

Nikolaus Voss nikolaus.voss@haag-streit.com
Wed Jan 11 15:23:16 CET 2023


This commit fixes the test for adding encrypted keys with unencrypted data.
Unencryted data must be provided hex-ascii encoding. Due to a kernel
bug, the unencypted data was not decoded to binary thus the length of
the key was only half the specified key size. This patch doubles the key
size.

Fixes: 342e7a0dd ("syscalls/keyctl09: test encrypted keys with provided decrypted data.")
Link: https://lore.kernel.org/ltp/20221006081709.92303897@mail.steuer-voss.de/
Signed-off-by: Nikolaus Voss <nikolaus.voss@haag-streit.com>
---
v2: add linux-git tag for kernel fix, only correct test input data

 testcases/kernel/syscalls/keyctl/keyctl09.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/syscalls/keyctl/keyctl09.c b/testcases/kernel/syscalls/keyctl/keyctl09.c
index c88c481b9..cfd5f7e5f 100644
--- a/testcases/kernel/syscalls/keyctl/keyctl09.c
+++ b/testcases/kernel/syscalls/keyctl/keyctl09.c
@@ -13,8 +13,8 @@
 #include "tst_test.h"
 #include "lapi/keyctl.h"
 
-#define ENCRYPTED_KEY_VALID_PAYLOAD	"new enc32 user:masterkey 32 abcdefABCDEF1234567890aaaaaaaaaa"
-#define ENCRYPTED_KEY_INVALID_PAYLOAD	"new enc32 user:masterkey 32 plaintext123@123!123@123!123@123"
+#define ENCRYPTED_KEY_VALID_PAYLOAD	"new enc32 user:masterkey 32 abcdefABCDEF1234567890aaaaaaaaaaabcdefABCDEF1234567890aaaaaaaaaa"
+#define ENCRYPTED_KEY_INVALID_PAYLOAD	"new enc32 user:masterkey 32 plaintext123@123!123@123!123@123plaintext123@123!123@123!123@123"
 
 static void do_test(void)
 {
@@ -28,7 +28,8 @@ static void do_test(void)
 
 	TST_EXP_POSITIVE(add_key("encrypted", "ltptestkey1",
 			    ENCRYPTED_KEY_VALID_PAYLOAD,
-			    60, KEY_SPEC_PROCESS_KEYRING));
+			    strlen(ENCRYPTED_KEY_VALID_PAYLOAD),
+			    KEY_SPEC_PROCESS_KEYRING));
 
 	if (!TST_PASS)
 		return;
@@ -39,7 +40,8 @@ static void do_test(void)
 		return;
 
 	TST_EXP_FAIL2(add_key("encrypted", "ltptestkey2",
-			    ENCRYPTED_KEY_INVALID_PAYLOAD, 60,
+			    ENCRYPTED_KEY_INVALID_PAYLOAD,
+			    strlen(ENCRYPTED_KEY_INVALID_PAYLOAD),
 			    KEY_SPEC_PROCESS_KEYRING), EINVAL);
 
 	keyctl(KEYCTL_CLEAR, KEY_SPEC_PROCESS_KEYRING);
@@ -50,5 +52,9 @@ static struct tst_test test = {
 	.needs_kconfigs = (const char *[]) {
 		"CONFIG_USER_DECRYPTED_DATA=y",
 		NULL
+	},
+	.tags = (const struct tst_tag[]) {
+		{ "linux-git", "5adedd42245af"},
+		{}
 	}
 };
-- 
2.34.1



More information about the ltp mailing list