From 3954bc3c03439dbdc7029cf2418c79a037918ce4 Mon Sep 17 00:00:00 2001 From: Marc Bonnici Date: Fri, 20 May 2022 14:34:56 +0100 Subject: [PATCH] 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 Change-Id: I997dc4d1ef2014660cc964aff0a73e348c44eff0 --- services/std_svc/spm/el3_spmc/spmc_shared_mem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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,