mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 11:04:20 +00:00
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: Varun Wadekar <vwadekar@nvidia.com>
This commit is contained in:
parent
aa64c5fb67
commit
6460ed7aaa
1 changed files with 5 additions and 3 deletions
|
@ -381,13 +381,15 @@ void bl31_plat_arch_setup(void)
|
|||
******************************************************************************/
|
||||
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;
|
||||
|
||||
/*
|
||||
* 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");
|
||||
ret = -EFAULT;
|
||||
}
|
||||
|
@ -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
|
||||
* 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");
|
||||
ret = -ENOTSUP;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue