summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/Pei/FwVol/FwVol.c
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-03 06:25:35 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-03 06:25:35 +0000
commit6a1ae84a261720085beafb32ebbe2d2b179e6056 (patch)
tree9ec389a154cc461b2974dc265936a45420151462 /MdeModulePkg/Core/Pei/FwVol/FwVol.c
parentd1bc30258b27b72e5fb2ddfd642ccc916c4d464c (diff)
downloadedk2-6a1ae84a261720085beafb32ebbe2d2b179e6056.zip
edk2-6a1ae84a261720085beafb32ebbe2d2b179e6056.tar.gz
edk2-6a1ae84a261720085beafb32ebbe2d2b179e6056.tar.bz2
When new FV is installed, VerifyFv() should be invoked to do security checking for this FV.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5785 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Core/Pei/FwVol/FwVol.c')
-rw-r--r--MdeModulePkg/Core/Pei/FwVol/FwVol.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
index cf0cfe7..f2b5ced 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
@@ -307,6 +307,7 @@ PeiInitializeFv (
@param Ppi Address of the PPI that was installed.
@retval EFI_SUCCESS The FV Info is registered into PeiCore private data structure.
+ @return if not EFI_SUCESS, fail to verify FV.
**/
EFI_STATUS
@@ -342,6 +343,13 @@ FirmwareVolmeInfoPpiNotifyCallback (
return EFI_SUCCESS;
}
}
+
+ Status = VerifyFv ((EFI_FIRMWARE_VOLUME_HEADER*)Fv->FvInfo);
+ if (EFI_ERROR(Status)) {
+ DEBUG ((EFI_D_ERROR, "Fail to verify FV which address is 0x%11p", (VOID *) Fv->FvInfo));
+ return Status;
+ }
+
PrivateData->Fv[PrivateData->FvCount++].FvHeader = (EFI_FIRMWARE_VOLUME_HEADER*)Fv->FvInfo;
//