diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c index 3b3b20aa9b..bffab83d4f 100644 --- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c +++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c @@ -744,6 +744,10 @@ ArmSetMemoryAttributes ( UINT64 ChunkLength; BOOLEAN FlushTlbs; + if (BaseAddress > (UINT64)MAX_ADDRESS - Length + 1) { + return EFI_UNSUPPORTED; + } + if (Length == 0) { return EFI_SUCCESS; }