summaryrefslogtreecommitdiff
path: root/services/std_svc/spm
diff options
context:
space:
mode:
authorMarc Bonnici <marc.bonnici@arm.com>2022-05-20 14:34:56 +0100
committerMarc Bonnici <marc.bonnici@arm.com>2022-05-20 14:34:56 +0100
commit3954bc3c03439dbdc7029cf2418c79a037918ce4 (patch)
tree1334b39aa71faf215e63be99734a47d180f93c40 /services/std_svc/spm
parent453abc80b2eacbf2816c838e47e40f063227d934 (diff)
downloadarm-trusted-firmware-3954bc3c03439dbdc7029cf2418c79a037918ce4.tar.gz
fix(spmc): fix FF-A memory transaction validation
Fix an incorrect bound check for overlapping memory regions which can give false positives if the two regions are consecutive to each other. Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I997dc4d1ef2014660cc964aff0a73e348c44eff0
Diffstat (limited to 'services/std_svc/spm')
-rw-r--r--services/std_svc/spm/el3_spmc/spmc_shared_mem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/services/std_svc/spm/el3_spmc/spmc_shared_mem.c b/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
index 1602981bf..98d069ac9 100644
--- a/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
+++ b/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
@@ -304,7 +304,7 @@ overlapping_memory_regions(struct ffa_comp_mrd *region1,
if ((region1_start >= region2_start &&
region1_start < region2_end) ||
- (region1_end >= region2_start
+ (region1_end > region2_start
&& region1_end < region2_end)) {
WARN("Overlapping mem regions 0x%lx-0x%lx & 0x%lx-0x%lx\n",
region1_start, region1_end,