From c8594a53119c72022f8ff5977b01e4e632ca7a04 Mon Sep 17 00:00:00 2001 From: Guomin Jiang Date: Fri, 15 Oct 2021 11:54:14 +0800 Subject: SecurityPkg/FvReportPei: Remove the ASSERT to allow neither M nor V REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2673 M mean that Measured Boot, V mean that Verified Boot. The FvReport do below: 1. Do nothing if neither M nor V 2. Allocate pages to save the firmware volume and use it to install firmware info Ppi 3. Install PreHashFv Ppi if the FV need measurement. 4. Verify the Hash if the FV need verification Notes: 1. The component is used to verify the FV or measure the FV 2. Copy action is just for security purpose but not main purpose. 3. If you use this component, Doesn't need to copy in other compoent which result time consumption. Signed-off-by: Guomin Jiang Reviewed-by: Jian J Wang --- SecurityPkg/FvReportPei/FvReportPei.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/SecurityPkg/FvReportPei/FvReportPei.c b/SecurityPkg/FvReportPei/FvReportPei.c index 9f3ebd8ed1..6dce3298e3 100644 --- a/SecurityPkg/FvReportPei/FvReportPei.c +++ b/SecurityPkg/FvReportPei/FvReportPei.c @@ -150,10 +150,12 @@ VerifyHashedFv ( FvHashValue = HashValue; for (FvIndex = 0; FvIndex < FvNumber; ++FvIndex) { // - // FV must be meant for verified boot and/or measured boot. + // Not meant for verified boot and/or measured boot? // - ASSERT ((FvInfo[FvIndex].Flag & HASHED_FV_FLAG_VERIFIED_BOOT) != 0 || - (FvInfo[FvIndex].Flag & HASHED_FV_FLAG_MEASURED_BOOT) != 0); + if ((FvInfo[FvIndex].Flag & HASHED_FV_FLAG_VERIFIED_BOOT) == 0 && + (FvInfo[FvIndex].Flag & HASHED_FV_FLAG_MEASURED_BOOT) == 0) { + continue; + } // // Skip any FV not meant for current boot mode. -- cgit v1.2.3