Assume get_num_ops cannot fail
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 0bb9e8e..1faf1dd 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -3448,7 +3448,6 @@
size_t *signature_length)
{
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
- psa_status_t numops_status = PSA_ERROR_CORRUPTION_DETECTED;
*signature_length = 0;
@@ -3471,10 +3470,7 @@
signature_length);
/* Update ops count with work done. */
- numops_status = psa_driver_wrapper_sign_hash_get_num_ops(operation, &operation->num_ops);
- if (status == PSA_SUCCESS) {
- status = numops_status;
- }
+ operation->num_ops = psa_driver_wrapper_sign_hash_get_num_ops(operation);
exit:
@@ -3594,7 +3590,6 @@
psa_verify_hash_interruptible_operation_t *operation)
{
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
- psa_status_t numops_status = PSA_ERROR_CORRUPTION_DETECTED;
/* Check that start has been called first, and that operation has not
* previously errored. */
@@ -3606,10 +3601,8 @@
status = psa_driver_wrapper_verify_hash_complete(operation);
/* Update ops count with work done. */
- numops_status = psa_driver_wrapper_verify_hash_get_num_ops(operation, &operation->num_ops);
- if (status == PSA_SUCCESS) {
- status = numops_status;
- }
+ operation->num_ops = psa_driver_wrapper_verify_hash_get_num_ops(
+ operation);
exit:
diff --git a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
index 282dd7b..ded5c04 100644
--- a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
+++ b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
@@ -472,19 +472,17 @@
}
}
-static inline psa_status_t psa_driver_wrapper_sign_hash_get_num_ops(
- psa_sign_hash_interruptible_operation_t *operation, uint32_t *num_ops )
+static inline uint32_t psa_driver_wrapper_sign_hash_get_num_ops(
+ psa_sign_hash_interruptible_operation_t *operation )
{
switch( operation->id )
{
/* If uninitialised, return 0, as no work can have been done. */
case 0:
- *num_ops = 0;
- return PSA_SUCCESS;
+ return 0;
case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
- *num_ops = mbedtls_psa_sign_hash_get_num_ops(&operation->ctx.mbedtls_ctx);
- return PSA_SUCCESS;
+ return(mbedtls_psa_sign_hash_get_num_ops(&operation->ctx.mbedtls_ctx));
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
#if defined(PSA_CRYPTO_DRIVER_TEST)
@@ -494,22 +492,21 @@
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
- return( PSA_ERROR_INVALID_ARGUMENT );
+ /* Can't happen (see discussion in #8271) */
+ return 0;
}
-static inline psa_status_t psa_driver_wrapper_verify_hash_get_num_ops(
- psa_verify_hash_interruptible_operation_t *operation, uint32_t *num_ops )
+static inline uint32_t psa_driver_wrapper_verify_hash_get_num_ops(
+ psa_verify_hash_interruptible_operation_t *operation )
{
switch( operation->id )
{
/* If uninitialised, return 0, as no work can have been done. */
case 0:
- *num_ops = 0;
- return PSA_SUCCESS;
+ return 0;
case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
- *num_ops = mbedtls_psa_verify_hash_get_num_ops(&operation->ctx.mbedtls_ctx);
- return PSA_SUCCESS;
+ return (mbedtls_psa_verify_hash_get_num_ops(&operation->ctx.mbedtls_ctx));
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
#if defined(PSA_CRYPTO_DRIVER_TEST)
@@ -520,7 +517,8 @@
}
- return ( PSA_ERROR_INVALID_ARGUMENT );
+ /* Can't happen (see discussion in #8271) */
+ return 0;
}
static inline psa_status_t psa_driver_wrapper_sign_hash_start(