diff options
author | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2020-04-02 15:52:44 +0200 |
---|---|---|
committer | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2020-04-02 15:57:55 +0200 |
commit | afe62624c313b78778d4bb4962f5141ac5a0b728 (patch) | |
tree | 4f03bc8b116515187cd0dc803b00f4b83ce2f55c /include | |
parent | 6f8a2565593f602bfe9f6069f086960f8cc745cd (diff) | |
download | platform_external_arm-trusted-firmware-afe62624c313b78778d4bb4962f5141ac5a0b728.tar.gz platform_external_arm-trusted-firmware-afe62624c313b78778d4bb4962f5141ac5a0b728.tar.bz2 platform_external_arm-trusted-firmware-afe62624c313b78778d4bb4962f5141ac5a0b728.zip |
Check for out-of-bound accesses in the platform io policies
The platform io policies array is now always accessed through a fconf getter.
This gives us an ideal spot to check for out-of-bound accesses.
Remove the assertion in plat_get_image_source(), which is now redundant.
Change-Id: Iefe808d530229073b68cbd164d927b8b6662a217
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/plat/arm/common/arm_fconf_getter.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/plat/arm/common/arm_fconf_getter.h b/include/plat/arm/common/arm_fconf_getter.h index 28913a43f..8fd8c7ada 100644 --- a/include/plat/arm/common/arm_fconf_getter.h +++ b/include/plat/arm/common/arm_fconf_getter.h @@ -7,10 +7,15 @@ #ifndef ARM_FCONF_GETTER #define ARM_FCONF_GETTER +#include <assert.h> + #include <lib/fconf/fconf.h> /* ARM io policies */ -#define arm__io_policies_getter(id) &policies[id] +#define arm__io_policies_getter(id) __extension__ ({ \ + assert((id) < MAX_NUMBER_IDS); \ + &policies[id]; \ +}) struct plat_io_policy { uintptr_t *dev_handle; |