diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-01-04 19:04:32 +0100 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-01-13 17:33:28 +0100 |
commit | 28ce4cb3590bc3aaa91c3be75429d4e8722415e2 (patch) | |
tree | 4d8794b0a599c93d733ee220de2ea587ab0cea39 /BaseTools/Source/Python/Workspace | |
parent | e3ad54faa855fda3b3e145f54d37ee57e3a4def1 (diff) | |
download | edk2-28ce4cb3590bc3aaa91c3be75429d4e8722415e2.tar.gz edk2-28ce4cb3590bc3aaa91c3be75429d4e8722415e2.tar.bz2 edk2-28ce4cb3590bc3aaa91c3be75429d4e8722415e2.zip |
ArmPkg/ArmMmuLib ARM: fix thinko in second level page table handling
PopulateLevel2PageTable () is invoked for [parts of] mappings that
start or end on a non-1 MB aligned address (or both). The size of
the mapping depends on both the start address modulo 1 MB and the
length of the mapping, but the logic that calculates this size is
flawed: subtracting 'start address modulo 1 MB' could result in a
negative value for the remaining length, which is obviously wrong.
So instead, take either RemainLength, or the rest of the 1 MB
block, whichever is smaller.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Tested-by: Eugene Cohen <eugene@hp.com>
Diffstat (limited to 'BaseTools/Source/Python/Workspace')
0 files changed, 0 insertions, 0 deletions