From 2eb8cc7d9d89545618f6740ea9d492a5b158e725 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Mon, 17 Jun 2024 10:50:36 +0200 Subject: [PATCH] psa_sim: improve log prints - always print ERROR and FATAL messages because they should never occur, but when they do it's important to see them immediately; - keep INFO prints under DEBUG guard; - set client's PRINT as INFO message because otherwise it will mess test_suites's output; - change some error messages from INFO to ERROR because that's what they are. Signed-off-by: Valerio Setti --- tests/psa-client-server/psasim/include/util.h | 12 +++++------- tests/psa-client-server/psasim/src/client.c | 2 ++ .../psa-client-server/psasim/src/psa_ff_client.c | 7 +++---- .../psasim/src/psa_sim_crypto_client.c | 2 +- .../psasim/src/psa_sim_serialise.c | 16 +++++++++++++--- 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/tests/psa-client-server/psasim/include/util.h b/tests/psa-client-server/psasim/include/util.h index 558149fe2b..5eb8238c5c 100644 --- a/tests/psa-client-server/psasim/include/util.h +++ b/tests/psa-client-server/psasim/include/util.h @@ -13,20 +13,18 @@ #if defined(DEBUG) #define INFO(fmt, ...) \ fprintf(stdout, "Info (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__) +#else /* !DEBUG */ +#define INFO(...) +#endif /* DEBUG*/ #define ERROR(fmt, ...) \ - fprintf(stdout, "Error (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__) + fprintf(stderr, "Error (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__) #define FATAL(fmt, ...) \ { \ - fprintf(stdout, "Fatal (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__); \ + fprintf(stderr, "Fatal (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__); \ abort(); \ } -#else /* DEBUG */ -#define INFO(...) -#define ERROR(...) -#define FATAL(...) -#endif /* DEBUG*/ #define PROJECT_ID 'M' #define PATHNAMESIZE 256 diff --git a/tests/psa-client-server/psasim/src/client.c b/tests/psa-client-server/psasim/src/client.c index a8c9e08f3e..4c63abf5a3 100644 --- a/tests/psa-client-server/psasim/src/client.c +++ b/tests/psa-client-server/psasim/src/client.c @@ -7,12 +7,14 @@ /* Includes from mbedtls */ #include "psa/crypto.h" +#include "util.h" int main() { /* psa_crypto_init() connects to the server */ psa_status_t status = psa_crypto_init(); if (status != PSA_SUCCESS) { + ERROR("psa_crypto_init returned %d", status); return 1; } diff --git a/tests/psa-client-server/psasim/src/psa_ff_client.c b/tests/psa-client-server/psasim/src/psa_ff_client.c index 21a43b39dd..0d6bbf3c92 100644 --- a/tests/psa-client-server/psasim/src/psa_ff_client.c +++ b/tests/psa-client-server/psasim/src/psa_ff_client.c @@ -199,7 +199,6 @@ static psa_status_t process_response(int rx_qid, vectors_t *vecs, int type, default: FATAL(" ERROR: unknown internal message type: %ld", response.message_type); - return ret; } } } @@ -301,10 +300,10 @@ psa_handle_t psa_connect(uint32_t sid, uint32_t minor_version) handles[idx].valid = 1; return idx; } else { - INFO("Server didn't like you"); + ERROR("Server didn't like you"); } } else { - INFO("Couldn't contact RoT service. Does it exist?"); + ERROR("Couldn't contact RoT service. Does it exist?"); if (__psa_ff_client_security_state == 0) { ERROR("Invalid SID"); @@ -339,7 +338,7 @@ uint32_t psa_version(uint32_t sid) } } } - INFO("psa_version failed: does the service exist?"); + ERROR("psa_version failed: does the service exist?"); return PSA_VERSION_NONE; } diff --git a/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c b/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c index 2ffb615de7..758e9b2ec6 100644 --- a/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c +++ b/tests/psa-client-server/psasim/src/psa_sim_crypto_client.c @@ -22,7 +22,7 @@ #include "psa/crypto.h" #define CLIENT_PRINT(fmt, ...) \ - PRINT("Client: " fmt, ##__VA_ARGS__) + INFO("Client: " fmt, ##__VA_ARGS__) static psa_handle_t handle = -1; diff --git a/tests/psa-client-server/psasim/src/psa_sim_serialise.c b/tests/psa-client-server/psasim/src/psa_sim_serialise.c index 9e8c38bb57..703e4308f1 100644 --- a/tests/psa-client-server/psasim/src/psa_sim_serialise.c +++ b/tests/psa-client-server/psasim/src/psa_sim_serialise.c @@ -10,6 +10,7 @@ */ #include "psa_sim_serialise.h" +#include "util.h" #include #include @@ -71,8 +72,7 @@ static ssize_t allocate_hash_operation_slot(void) { psasim_client_handle_t handle = next_hash_operation_handle++; if (next_hash_operation_handle == 0) { /* wrapped around */ - fprintf(stderr, "MAX HASH HANDLES REACHED\n"); - exit(1); + FATAL("Hash operation handle wrapped"); } for (ssize_t i = 0; i < MAX_LIVE_HANDLES_PER_CLASS; i++) { @@ -82,6 +82,8 @@ static ssize_t allocate_hash_operation_slot(void) } } + ERROR("All slots are currently used. Unable to allocate a new one."); + return -1; /* all in use */ } @@ -94,7 +96,9 @@ static ssize_t find_hash_slot_by_handle(psasim_client_handle_t handle) } } - return -1; /* all in use */ + ERROR("Unable to find slot by handle %u", handle); + + return -1; /* not found */ } static psa_aead_operation_t aead_operations[MAX_LIVE_HANDLES_PER_CLASS]; @@ -706,3 +710,9 @@ int psasim_deserialise_mbedtls_svc_key_id_t(uint8_t **pos, return 1; } + +void psa_sim_serialize_reset(void) +{ + memset(hash_operation_handles, 0, sizeof(hash_operation_handles)); + memset(hash_operations, 0, sizeof(hash_operations)); +}