Skip to content

Commit d96c9e8

Browse files
author
Cruz Monrreal
authored
Merge pull request #9862 from netanelgonen/backward_support_its
Backward support PSA_ITS
2 parents 3352b43 + 3e89a05 commit d96c9e8

File tree

2 files changed

+41
-3
lines changed

2 files changed

+41
-3
lines changed

components/TARGET_PSA/services/storage/common/psa_storage_common_impl.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@ psa_status_t psa_storage_set_impl(KVStore *kvstore, int32_t pid, psa_storage_uid
191191
return PSA_ERROR_NOT_SUPPORTED;
192192
}
193193

194+
if (uid == 0) {
195+
return PSA_ERROR_INVALID_ARGUMENT;
196+
}
194197
// Generate KVStore key
195198
char kv_key[PSA_STORAGE_FILE_NAME_MAX] = {'\0'};
196199
generate_fn(kv_key, PSA_STORAGE_FILE_NAME_MAX, uid, pid);
@@ -208,6 +211,10 @@ psa_status_t psa_storage_set_impl(KVStore *kvstore, int32_t pid, psa_storage_uid
208211
psa_status_t psa_storage_get_impl(KVStore *kvstore, int32_t pid, psa_storage_uid_t uid,
209212
uint32_t data_offset, uint32_t data_length, void *p_data)
210213
{
214+
if (uid == 0) {
215+
return PSA_ERROR_INVALID_ARGUMENT;
216+
}
217+
211218
// Generate KVStore key
212219
char kv_key[PSA_STORAGE_FILE_NAME_MAX] = {'\0'};
213220
generate_fn(kv_key, PSA_STORAGE_FILE_NAME_MAX, uid, pid);
@@ -242,6 +249,11 @@ psa_status_t psa_storage_get_impl(KVStore *kvstore, int32_t pid, psa_storage_uid
242249
psa_status_t psa_storage_get_info_impl(KVStore *kvstore, int32_t pid, psa_storage_uid_t uid,
243250
struct psa_storage_info_t *p_info)
244251
{
252+
253+
if (uid == 0) {
254+
return PSA_ERROR_INVALID_ARGUMENT;
255+
}
256+
245257
// Generate KVStore key
246258
char kv_key[PSA_STORAGE_FILE_NAME_MAX] = {'\0'};
247259
generate_fn(kv_key, PSA_STORAGE_FILE_NAME_MAX, uid, pid);
@@ -262,6 +274,10 @@ psa_status_t psa_storage_get_info_impl(KVStore *kvstore, int32_t pid, psa_storag
262274

263275
psa_status_t psa_storage_remove_impl(KVStore *kvstore, int32_t pid, psa_storage_uid_t uid)
264276
{
277+
if (uid == 0) {
278+
return PSA_ERROR_INVALID_ARGUMENT;
279+
}
280+
265281
// Generate KVStore key
266282
char kv_key[PSA_STORAGE_FILE_NAME_MAX] = {'\0'};
267283
generate_fn(kv_key, PSA_STORAGE_FILE_NAME_MAX, uid, pid);

components/TARGET_PSA/services/storage/its/psa_prot_internal_storage.h

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,33 @@ struct psa_its_info_t {
5555
#define PSA_ITS_ERROR_STORAGE_FAILURE PSA_ERROR_STORAGE_FAILURE
5656
#define PSA_ITS_ERROR_INSUFFICIENT_SPACE PSA_ERROR_INSUFFICIENT_STORAGE
5757
#define PSA_ITS_ERROR_OFFSET_INVALID PSA_ERROR_INVALID_ARGUMENT
58-
#define PSA_ITS_ERROR_INCORRECT_SIZE PSA_ERROR_INVALID_ARGUMENT
58+
#define PSA_ITS_ERROR_INCORRECT_SIZE PSA_ERROR_BUFFER_TOO_SMALL
5959
#define PSA_ITS_ERROR_INVALID_ARGUMENTS PSA_ERROR_INVALID_ARGUMENT
6060
#define PSA_ITS_ERROR_FLAGS_NOT_SUPPORTED PSA_ERROR_NOT_SUPPORTED
61-
#define PSA_ITS_ERROR_WRITE_ONCE PSA_ERROR_ALREADY_EXISTS
62-
61+
#define PSA_ITS_ERROR_WRITE_ONCE PSA_ERROR_NOT_PERMITTED
62+
#define PSA_ITS_FLAG_WRITE_ONCE PSA_STORAGE_FLAG_WRITE_ONCE
63+
64+
MBED_DEPRECATED("PS specific types should not be used")
65+
typedef psa_status_t psa_ps_status_t;
66+
MBED_DEPRECATED("PS specific types should not be used")
67+
typedef psa_storage_uid_t psa_ps_uid_t;
68+
MBED_DEPRECATED("PS specific types should not be used")
69+
typedef psa_storage_create_flags_t psa_ps_create_flags_t;
70+
MBED_DEPRECATED("PS specific types should not be used")
71+
struct psa_ps_info_t {
72+
uint32_t size;
73+
psa_ps_create_flags_t flags;
74+
};
75+
#define PSA_PS_SUCCESS PSA_SUCCESS
76+
#define PSA_PS_ERROR_UID_NOT_FOUND PSA_ERROR_DOES_NOT_EXIST
77+
#define PSA_PS_ERROR_STORAGE_FAILURE PSA_ERROR_STORAGE_FAILURE
78+
#define PSA_PS_ERROR_INSUFFICIENT_SPACE PSA_ERROR_INSUFFICIENT_STORAGE
79+
#define PSA_PS_ERROR_OFFSET_INVALID PSA_ERROR_INVALID_ARGUMENT
80+
#define PSA_PS_ERROR_INCORRECT_SIZE PSA_ERROR_BUFFER_TOO_SMALL
81+
#define PSA_PS_ERROR_INVALID_ARGUMENT PSA_ERROR_INVALID_ARGUMENT
82+
#define PSA_PS_ERROR_FLAGS_NOT_SUPPORTED PSA_ERROR_NOT_SUPPORTED
83+
#define PSA_PS_ERROR_WRITE_ONCE PSA_ERROR_NOT_PERMITTED
84+
#define PSA_PS_FLAG_WRITE_ONCE PSA_STORAGE_FLAG_WRITE_ONCE
6385

6486
/**
6587
* \brief create a new or modify an existing uid/value pair

0 commit comments

Comments
 (0)