From 3ed13d25a065f29bd46ee725c708d12ebc3f175a Mon Sep 17 00:00:00 2001 From: Vikas Katariya Date: Fri, 13 Oct 2023 11:28:54 +0100 Subject: [PATCH] arm-bsp/corstone1000: Fix RSA key generation issue This support is for Cassini distro using Corstone-1000 platform. When running parsec test, it reports an error `PSA_ERROR_DATA_INVALID (-153)`. This is related to `ITS_MAX_ASSET_SIZE` configuration which is been set to 512 on the secure enclave (TF-M), which defines the max asset size and it overflows when running the parsec tests. The key is generated, but when it is asked to store via `psa_its_set` it returns `PSA_ERROR_INVALID_ARGUMENT (-135)`, which then propagates to `PSA_ERROR_DATA_INVALID (-153)` Increasing the `ITS_MAX_ASSET_SIZE` to 2048 solves this issue. Signed-off-by: Vikas Katariya Signed-off-by: Jon Mason --- ...tone1000-increase-ITS-max-asset-size.patch | 29 +++++++++++++++++++ .../trusted-firmware-m-corstone1000.inc | 1 + 2 files changed, 30 insertions(+) create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-increase-ITS-max-asset-size.patch diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-increase-ITS-max-asset-size.patch b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-increase-ITS-max-asset-size.patch new file mode 100644 index 00000000..97cd14da --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-increase-ITS-max-asset-size.patch @@ -0,0 +1,29 @@ +From ef97f7083279565dab45a550139935d741f159a9 Mon Sep 17 00:00:00 2001 +From: Emekcan Aras +Date: Fri, 29 Sep 2023 09:57:19 +0100 +Subject: [PATCH] platform: corstone1000: Increase ITS max asset size +​ +Increases the max asset size for ITS to enable parsec services & tests +​ +Upstream-Status: Pending +Signed-off-by: Emekcan Aras +Signed-off-by: Vikas Katariya +--- + platform/ext/target/arm/corstone1000/config_tfm_target.h | 5 +++++ + 1 files changed, 5 insertions(+) +​ +diff --git a/platform/ext/target/arm/corstone1000/config_tfm_target.h b/platform/ext/target/arm/corstone1000/config_tfm_target.h +index e968366639..3f6e8477e5 100644 +--- a/platform/ext/target/arm/corstone1000/config_tfm_target.h ++++ b/platform/ext/target/arm/corstone1000/config_tfm_target.h +@@ -24,4 +24,9 @@ + #undef PS_NUM_ASSETS + #define PS_NUM_ASSETS 20 + ++/* The maximum size of asset to be stored in the Internal Trusted Storage area. */ ++#undef ITS_MAX_ASSET_SIZE ++#define ITS_MAX_ASSET_SIZE 2048 ++ ++ + #endif /* __CONFIG_TFM_TARGET_H__ */ +-- \ No newline at end of file diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc index 601d1652..9924f0f0 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc @@ -34,6 +34,7 @@ SRC_URI:append:corstone1000 = " \ file://0004-arm-trusted-firmware-m-disable-fatal-warnings.patch \ file://0005-Platform-corstone1000-add-unique-firmware-GUID.patch \ file://0006-Platform-Corstone1000-Enable-Signed-Capsule.patch \ + file://0007-platform-corstone1000-increase-ITS-max-asset-size.patch \ " # TF-M ships patches for external dependencies that needs to be applied