Merge pull request #1484 from nathan-menhorn/tee-validate-header-603

Update optee_utils.c to fix ARM-software/tf-issues#603
This commit is contained in:
Soby Mathew 2018-09-03 11:29:11 +01:00 committed by GitHub
commit 100992b531
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 8 deletions

View File

@ -25,14 +25,15 @@ typedef struct optee_image {
#define OPTEE_PAGER_IMAGE_ID 0
#define OPTEE_PAGED_IMAGE_ID 1
#define OPTEE_MAX_IMAGE_NUM 2
#define OPTEE_MAX_NUM_IMAGES 2u
#define TEE_MAGIC_NUM_OPTEE 0x4554504f
/*
* magic: header magic number.
* version: OPTEE header version:
* 1 - not supported
* 2 - supported
* 1 - not supported
* 2 - supported
* arch: OPTEE os architecture type: 0 - AARCH32, 1 - AARCH64.
* flags: unused currently.
* nb_images: number of images.
@ -53,14 +54,20 @@ typedef struct optee_header {
******************************************************************************/
static inline int tee_validate_header(optee_header_t *header)
{
int valid = 0;
if ((header->magic == TEE_MAGIC_NUM_OPTEE) &&
(header->version == 2) &&
(header->nb_images <= OPTEE_MAX_IMAGE_NUM)) {
return 1;
(header->version == 2u) &&
(header->nb_images > 0u) &&
(header->nb_images <= OPTEE_MAX_NUM_IMAGES)) {
valid = 1;
}
WARN("Not a known TEE, use default loading options.\n");
return 0;
else {
WARN("Not a known TEE, use default loading options.\n");
}
return valid;
}
/*******************************************************************************