Multiple persistent object manipulation
xtest 6014 is introduced. It highlights an issue when persistent
objects are manipulated in a loop.
cf. https://github.com/OP-TEE/optee_os/issues/798
Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU)
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/ta/storage/include/storage.h b/ta/storage/include/storage.h
index a736197..d5609d2 100644
--- a/ta/storage/include/storage.h
+++ b/ta/storage/include/storage.h
@@ -48,5 +48,6 @@
TEE_Result ta_storage_cmd_next_enum(uint32_t param_types, TEE_Param params[4]);
TEE_Result ta_storage_cmd_key_in_persistent(uint32_t param_types,
TEE_Param params[4]);
+TEE_Result ta_storage_cmd_loop(uint32_t param_types, TEE_Param params[4]);
#endif /*STORAGE_H */
diff --git a/ta/storage/include/ta_storage.h b/ta/storage/include/ta_storage.h
index ecaf541..abc6119 100644
--- a/ta/storage/include/ta_storage.h
+++ b/ta/storage/include/ta_storage.h
@@ -31,21 +31,22 @@
#define TA_STORAGE_UUID { 0xb689f2a7, 0x8adf, 0x477a, \
{ 0x9f, 0x99, 0x32, 0xe9, 0x0c, 0x0a, 0xd0, 0xa2 } }
-#define TA_STORAGE_CMD_OPEN 0
-#define TA_STORAGE_CMD_CLOSE 1
-#define TA_STORAGE_CMD_READ 2
-#define TA_STORAGE_CMD_WRITE 3
-#define TA_STORAGE_CMD_CREATE 4
-#define TA_STORAGE_CMD_SEEK 5
-#define TA_STORAGE_CMD_UNLINK 6
-#define TA_STORAGE_CMD_RENAME 7
-#define TA_STORAGE_CMD_TRUNC 8
-#define TA_STORAGE_CMD_ALLOC_ENUM 9
-#define TA_STORAGE_CMD_FREE_ENUM 10
-#define TA_STORAGE_CMD_RESET_ENUM 11
-#define TA_STORAGE_CMD_START_ENUM 12
-#define TA_STORAGE_CMD_NEXT_ENUM 13
-#define TA_STORAGE_CMD_CREATE_OVERWRITE 14
-#define TA_STORAGE_CMD_KEY_IN_PERSISTENT 15
+#define TA_STORAGE_CMD_OPEN 0
+#define TA_STORAGE_CMD_CLOSE 1
+#define TA_STORAGE_CMD_READ 2
+#define TA_STORAGE_CMD_WRITE 3
+#define TA_STORAGE_CMD_CREATE 4
+#define TA_STORAGE_CMD_SEEK 5
+#define TA_STORAGE_CMD_UNLINK 6
+#define TA_STORAGE_CMD_RENAME 7
+#define TA_STORAGE_CMD_TRUNC 8
+#define TA_STORAGE_CMD_ALLOC_ENUM 9
+#define TA_STORAGE_CMD_FREE_ENUM 10
+#define TA_STORAGE_CMD_RESET_ENUM 11
+#define TA_STORAGE_CMD_START_ENUM 12
+#define TA_STORAGE_CMD_NEXT_ENUM 13
+#define TA_STORAGE_CMD_CREATE_OVERWRITE 14
+#define TA_STORAGE_CMD_KEY_IN_PERSISTENT 15
+#define TA_STORAGE_CMD_LOOP 16
#endif /*TA_SKELETON_H */