From fd682cd470226a060ad000548817b439c0b546cd Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Fri, 17 Jul 2020 16:30:44 +0200 Subject: [PATCH] hw: check descriptor validity in LPAE lookup Fixes #3828 --- repos/base-hw/src/include/hw/spec/arm/lpae.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/base-hw/src/include/hw/spec/arm/lpae.h b/repos/base-hw/src/include/hw/spec/arm/lpae.h index f3956816bc..0e41b0eda4 100644 --- a/repos/base-hw/src/include/hw/spec/arm/lpae.h +++ b/repos/base-hw/src/include/hw/spec/arm/lpae.h @@ -385,6 +385,8 @@ class Hw::Level_3_translation_table : using Base = Long_translation_table; using Block_descriptor = typename Stage_trait::Type; + if (!Descriptor::valid(desc)) + return; phys = Block_descriptor::Output_address::masked(desc); found = true; }