diff options
| author | Chris Kay <chris.kay@arm.com> | 2018-05-09 15:46:07 +0100 |
|---|---|---|
| committer | Chris Kay <chris.kay@arm.com> | 2018-05-11 14:55:20 +0100 |
| commit | 053b4f92cbfa627418441daf5f9b1b89739c2fd1 (patch) | |
| tree | 85de9d2df81ef6276e9165142e88bdfbd40df3ac | |
| parent | 3450fd622412927ec4c4834b24b9c669f905b40a (diff) | |
plat/arm: Fix incorrect bounds check in ARM_CASSERT_MMAP
The bounds check in ARM_CASSERT_MMAP does not take into account the
array sentinel in plat_arm_mmap. This commit fixes this, and adds an
additional check to ensure the number of entries in the array is
within the bounds of PLAT_ARM_MMAP_ENTRIES.
Change-Id: Ie6df10c0aa0890d62826bc3224ad7b3e36fd53e2
Signed-off-by: Chris Kay <chris.kay@arm.com>
| -rw-r--r-- | include/plat/arm/common/plat_arm.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index 612a63a8..fc3f4ec3 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -59,9 +59,11 @@ typedef struct arm_tzc_regions_info { PLAT_ARM_TZC_NS_DEV_ACCESS} #endif -#define ARM_CASSERT_MMAP \ - CASSERT((ARRAY_SIZE(plat_arm_mmap) + ARM_BL_REGIONS) \ - <= MAX_MMAP_REGIONS, \ +#define ARM_CASSERT_MMAP \ + CASSERT((ARRAY_SIZE(plat_arm_mmap) - 1) <= PLAT_ARM_MMAP_ENTRIES, \ + assert_plat_arm_mmap_mismatch); \ + CASSERT((PLAT_ARM_MMAP_ENTRIES + ARM_BL_REGIONS) \ + <= MAX_MMAP_REGIONS, \ assert_max_mmap_regions); /* |
