Files
yoctor-layers/meta-st/meta-st-openstlinux/recipes-security/optee/optee-test/0005-regression-4012-4016-remove-CFG_SYSTEM_PTA-dependenc.patch
2024-07-11 14:16:35 +02:00

103 lines
3.4 KiB
Diff

From 6c4f4d9aa1eb80742333e09e1ed294319555f824 Mon Sep 17 00:00:00 2001
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 2 Dec 2022 20:56:49 +0100
Subject: [PATCH 2/3] regression 4012-4016: remove CFG_SYSTEM_PTA dependency
The regression cases 4012-4016 indicates an unnecessary build-time
dependency on CFG_SYSTEM_PTA. So remove the ifdef.
The affected test cases (4012 and 4013) instead skip these tests if it
turns out that the system PTA isn't available.
Change-Id: I5e5ddf150dd9154508d525cda1491cdf33a7c87b
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
[etienne: picked from c44350d720cbec1c9eb29ba983f7b81b810297bc]
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
---
host/xtest/regression_4000.c | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/host/xtest/regression_4000.c b/host/xtest/regression_4000.c
index c840d78..3db6250 100644
--- a/host/xtest/regression_4000.c
+++ b/host/xtest/regression_4000.c
@@ -5260,9 +5260,9 @@ out:
ADBG_CASE_DEFINE(regression, 4011, xtest_tee_test_4011,
"Test TEE Internal API Bleichenbacher attack (negative)");
-#ifdef CFG_SYSTEM_PTA
static void xtest_tee_test_4012(ADBG_Case_t *c)
{
+ TEEC_Result res = TEEC_SUCCESS;
TEEC_Session session = { };
uint32_t ret_orig = 0;
TEEC_Operation op = TEEC_OPERATION_INITIALIZER;
@@ -5290,11 +5290,15 @@ static void xtest_tee_test_4012(ADBG_Case_t *c)
&ret_orig)))
return;
- (void)ADBG_EXPECT_TEEC_SUCCESS(c,
- TEEC_InvokeCommand(&session,
- TA_CRYPT_CMD_SEED_RNG_POOL,
- &op,
- &ret_orig));
+ res = TEEC_InvokeCommand(&session, TA_CRYPT_CMD_SEED_RNG_POOL,
+ &op, &ret_orig);
+ if (res == TEEC_ERROR_ITEM_NOT_FOUND &&
+ ADBG_EXPECT_TEEC_ERROR_ORIGIN(c, ret_orig,
+ TEEC_ORIGIN_TRUSTED_APP))
+ Do_ADBG_Log("System PTA not available, skipping test 4012");
+ else
+ ADBG_EXPECT_TEEC_SUCCESS(c, res);
+
TEEC_CloseSession(&session);
}
ADBG_CASE_DEFINE(regression, 4012, xtest_tee_test_4012,
@@ -5302,6 +5306,7 @@ ADBG_CASE_DEFINE(regression, 4012, xtest_tee_test_4012,
static void xtest_tee_test_4013(ADBG_Case_t *c)
{
+ TEEC_Result res = TEEC_SUCCESS;
TEEC_Session session = { };
uint32_t ret_orig = 0;
TEEC_Operation op = TEEC_OPERATION_INITIALIZER;
@@ -5317,11 +5322,15 @@ static void xtest_tee_test_4013(ADBG_Case_t *c)
NULL, &ret_orig)))
return;
- (void)ADBG_EXPECT_TEEC_SUCCESS(c,
- TEEC_InvokeCommand(&session,
- TA_CRYPT_CMD_DERIVE_TA_UNIQUE_KEY,
- &op,
- &ret_orig));
+ res = TEEC_InvokeCommand(&session, TA_CRYPT_CMD_DERIVE_TA_UNIQUE_KEY,
+ &op, &ret_orig);
+ if (res == TEEC_ERROR_ITEM_NOT_FOUND &&
+ ADBG_EXPECT_TEEC_ERROR_ORIGIN(c, ret_orig,
+ TEEC_ORIGIN_TRUSTED_APP)) {
+ Do_ADBG_Log("System PTA not available, skipping test 4013");
+ goto out;
+ }
+ ADBG_EXPECT_TEEC_SUCCESS(c, res);
/* Negative test using non-secure memory */
memset(&op, 0, sizeof(op));
@@ -5341,6 +5350,7 @@ static void xtest_tee_test_4013(ADBG_Case_t *c)
&op,
&ret_orig));
+out:
TEEC_CloseSession(&session);
}
ADBG_CASE_DEFINE(regression, 4013, xtest_tee_test_4013,
@@ -5984,5 +5994,3 @@ out:
}
ADBG_CASE_DEFINE(regression, 4016_ed25519, xtest_tee_test_4016_ed25519,
"Test TEE Internal API ED25519 sign/verify");
-
-#endif /*CFG_SYSTEM_PTA*/
--
2.25.1