Commit 6460ed7a authored by Varun Wadekar's avatar Varun Wadekar
Browse files

Tegra: sanity check non-secure DRAM address



This patch fixes the logic to validate if a non-secure memory address
overlaps the TZDRAM memory aperture.

Change-Id: I68af7dc6acc705d7b0ee9161c4002376077b46b1
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent aa64c5fb
...@@ -381,13 +381,15 @@ void bl31_plat_arch_setup(void) ...@@ -381,13 +381,15 @@ void bl31_plat_arch_setup(void)
******************************************************************************/ ******************************************************************************/
int32_t bl31_check_ns_address(uint64_t base, uint64_t size_in_bytes) int32_t bl31_check_ns_address(uint64_t base, uint64_t size_in_bytes)
{ {
uint64_t end = base + size_in_bytes; uint64_t end = base + size_in_bytes - U(1);
int32_t ret = 0; int32_t ret = 0;
/* /*
* Check if the NS DRAM address is valid * Check if the NS DRAM address is valid
*/ */
if ((base < TEGRA_DRAM_BASE) || (end > TEGRA_DRAM_END)) { if ((base < TEGRA_DRAM_BASE) || (base >= TEGRA_DRAM_END) ||
(end > TEGRA_DRAM_END)) {
ERROR("NS address is out-of-bounds!\n"); ERROR("NS address is out-of-bounds!\n");
ret = -EFAULT; ret = -EFAULT;
} }
...@@ -396,7 +398,7 @@ int32_t bl31_check_ns_address(uint64_t base, uint64_t size_in_bytes) ...@@ -396,7 +398,7 @@ int32_t bl31_check_ns_address(uint64_t base, uint64_t size_in_bytes)
* TZDRAM aperture contains the BL31 and BL32 images, so we need * TZDRAM aperture contains the BL31 and BL32 images, so we need
* to check if the NS DRAM range overlaps the TZDRAM aperture. * to check if the NS DRAM range overlaps the TZDRAM aperture.
*/ */
if ((base < TZDRAM_END) && (end > tegra_bl31_phys_base)) { if ((base < (uint64_t)TZDRAM_END) && (end > tegra_bl31_phys_base)) {
ERROR("NS address overlaps TZDRAM!\n"); ERROR("NS address overlaps TZDRAM!\n");
ret = -ENOTSUP; ret = -ENOTSUP;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment