aboutsummaryrefslogtreecommitdiff
path: root/core/tee
diff options
context:
space:
mode:
authorOliver Chiang <rockerfeynman@gmail.com>2019-01-24 14:13:28 +0000
committerJerome Forissier <jerome.forissier@linaro.org>2019-01-30 13:18:47 +0100
commit42cf03c304e96bc81850466b49b2676e63b848e7 (patch)
treebbc22403d7faf0385b40bac6201eaa028315faf8 /core/tee
parent1e0efa5b2644af7053781eadcdf5638cfab94cc7 (diff)
core: check the value of tee_otp_get_die_id()
Just like the get_prop_tee_dev_id() in tee_svc.c, it returns TEE_ERROR_BAD_STATE, when tee_otp_get_die_id() reports someting bad. Put the same check in tee_fs_init_key_manager() as well. Fixes: https://github.com/OP-TEE/optee_os/issues/2762 Signed-off-by: Oliver Chiang <rockerfeynman@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: use URL in Fixes: tag] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Diffstat (limited to 'core/tee')
-rw-r--r--core/tee/tee_fs_key_manager.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/tee/tee_fs_key_manager.c b/core/tee/tee_fs_key_manager.c
index 95921ab7..26850104 100644
--- a/core/tee/tee_fs_key_manager.c
+++ b/core/tee/tee_fs_key_manager.c
@@ -148,7 +148,8 @@ static TEE_Result tee_fs_init_key_manager(void)
* message := concatenate(chip_id, static string)
* */
tee_otp_get_hw_unique_key(&huk);
- tee_otp_get_die_id(chip_id, sizeof(chip_id));
+ if (tee_otp_get_die_id(chip_id, sizeof(chip_id)))
+ return TEE_ERROR_BAD_STATE;
memcpy(message, chip_id, sizeof(chip_id));
memcpy(message + sizeof(chip_id), string_for_ssk_gen,