diff options
author | Oliver Chiang <rockerfeynman@gmail.com> | 2019-01-24 14:13:28 +0000 |
---|---|---|
committer | Jerome Forissier <jerome.forissier@linaro.org> | 2019-01-30 13:18:47 +0100 |
commit | 42cf03c304e96bc81850466b49b2676e63b848e7 (patch) | |
tree | bbc22403d7faf0385b40bac6201eaa028315faf8 /core/tee | |
parent | 1e0efa5b2644af7053781eadcdf5638cfab94cc7 (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.c | 3 |
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, |