audk/ArmPkg/Drivers/CpuDxe
Ard Biesheuvel 36a87fec68 ArmPkg/ArmMmuLib ARM: handle unmapped section in GetMemoryRegion()
GetMemoryRegion() is used to obtain the attributes of an existing
mapping, to permit permission attribute changes to be optimized
away if the attributes don't actually change.

The current ARM code assumes that a section mapping or a page mapping
exists for any region passed into GetMemoryRegion(), but the region
may be unmapped entirely, in which case the code will crash. So check
if a section mapping exists before dereferencing it.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2018-12-03 15:54:39 +01:00
..
AArch64 ArmPkg/CpuDxe: handle implied attributes in EfiAttributeToArmAttribute 2017-03-08 15:40:20 +01:00
Arm ArmPkg/ArmMmuLib ARM: handle unmapped section in GetMemoryRegion() 2018-12-03 15:54:39 +01:00
CpuDxe.c ArmPkg/CpuDxe: ignore attribute changes during SyncCacheConfig() 2017-02-28 14:59:50 +00:00
CpuDxe.h ArmPkg: delete references to unused guids/Pcds from CpuDxe 2018-02-06 18:01:14 +00:00
CpuDxe.inf ArmPkg/CpuDxe: order CpuDxe after ArmGicDxe via protocol depex 2018-04-12 21:24:29 +02:00
CpuMmuCommon.c ArmPkg/ArmMmuLib: remove VirtualMask arg from ArmSetMemoryAttributes 2017-03-07 09:38:08 +01:00
CpuMpCore.c ARM Packages: Fixed missing braces (the warning was disabled by GCC) 2014-06-20 18:24:51 +00:00
Exception.c ArmPkg/CpuDxe: unmask SErrors in DEBUG builds 2016-07-01 13:24:50 +02:00