public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] ArmPkg/ArmMmuLib ARM: fix Mva to use idx instead of table base
@ 2018-04-13 23:43 Chris Co
  2018-04-16 10:44 ` Leif Lindholm
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Co @ 2018-04-13 23:43 UTC (permalink / raw)
  To: edk2-devel@lists.01.org; +Cc: Chris Co, Leif Lindholm, Ard Biesheuvel

Mva address calculation should use the left-shifted current
section index instead of the left-shifted table base address.

Using the table base address here has the side-effect of potentially
causing an access violation depending on the base address value.

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Christopher Co <christopher.co@microsoft.com>
---
 ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
index 774a7ccf59..9bf4ba03fd 100644
--- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
+++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
@@ -716,7 +716,7 @@ UpdateSectionEntries (
       Descriptor |= EntryValue;
 
       if (CurrentDescriptor  != Descriptor) {
-        Mva = (VOID *)(UINTN)(((UINTN)FirstLevelTable) << TT_DESCRIPTOR_SECTION_BASE_SHIFT);
+        Mva = (VOID *)(UINTN)(((UINTN)FirstLevelIdx + i) << TT_DESCRIPTOR_SECTION_BASE_SHIFT);
 
         // Clean/invalidate the cache for this section, but only
         // if we are modifying the memory type attributes
-- 
2.15.1.gvfs.2.39.g03d366a



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-06-21 14:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-13 23:43 [PATCH] ArmPkg/ArmMmuLib ARM: fix Mva to use idx instead of table base Chris Co
2018-04-16 10:44 ` Leif Lindholm
2018-04-16 19:45   ` Chris Co
2018-04-19 12:30     ` Ard Biesheuvel
2018-06-19 20:52       ` Chris Co
2018-06-20 16:39         ` Ard Biesheuvel
2018-06-20 19:09           ` Ard Biesheuvel
2018-06-21 14:11             ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox