Star, Feel free to shorten the title as necessary and commit. Thanks for reviewing this.
Eugene -----Original Message----- From: Zeng, Star [mailto:[email protected]] Sent: Monday, November 09, 2015 10:14 PM To: Cohen, Eugene <[email protected]>; Tian, Feng <[email protected]>; [email protected] Cc: Thompson, Mark L. <[email protected]>; Dellaquila, Katie <[email protected]> Subject: Re: [edk2] [PATCH] MdeModulePkg: PeiCore: fix issue where AuthenticationStatus is not propagated correctly to encapsulated FVs by ensuring that the FvInfo2 PPI is installed before the FvInfo PPI On 2015/11/10 9:01, Zeng, Star wrote: > On 2015/11/9 22:02, Cohen, Eugene wrote: >> Star, >> >> Apologies - the copyright change was a merge error from an older edk2 >> snapshot. Updated patch below. >> >> --- >> >> MdeModulePkg: PeiCore: fix issue where AuthenticationStatus is not >> propagated correctly to encapsulated FVs by ensuring that the FvInfo2 >> PPI is installed before the FvInfo PPI >> >> This patch fixes an issue in PEI with encapsulated FV images where >> the AuthenticationStatus is not correctly propagated down to child FV >> handles. The PEI core registers for callbacks for both FvInfo and >> FvInfo2 PPIs. These callbacks process the FVs which will recurse as >> necessary to find more encapsulated FVs. (FvInfo2 is an updated PPI >> that includes an AuthenticationStatus field - the original FvInfo did >> not include this.) >> >> When encapsulated FV processing occurs the PEI core installs both >> FvInfo and FvInfo2 PPIs. The original implementation installs FvInfo >> first and FvInfo2 second. As soon as the FvInfo PPI is installed the >> notification callback handler immediately fires causing recursive FV >> processing to occur. Since there is no AuthenticationStatus provided >> for the original FvInfo the callback assumes AuthenticationStatus is >> zero (unsigned / unverified) even though the parent FV may have been >> verified. >> >> This changes the order of FvInfo and FvInfo2 installs to ensure that >> the notification callback occurs for FvInfo2 first and appropriate >> AuthenticationStatus data can be propagated from parent FV to child >> FV. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Eugene Cohen [email protected]<mailto:[email protected]> >> >> --- >> MdeModulePkg/Core/Pei/FwVol/FwVol.c | 17 ++++++++++------- >> 1 file changed, 10 insertions(+), 7 deletions(-) > > Reviewed-by: Star Zeng <[email protected]> The patch title is too long to commit. You can resend the patch with refined title and my Reviewed-by, or let me to refine the title and then commit the patch. Thanks, Star > >> >> diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c >> b/MdeModulePkg/Core/Pei/FwVol/FwVol.c >> index 363ff7e..8f6e2ef 100644 >> --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c >> +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c >> @@ -1,6 +1,7 @@ >> /** @file >> Pei Core Firmware File System service routines. >> >> +Copyright (c) 2015 HP Development Company, L.P. >> Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> >> This program and the accompanying materials >> are licensed and made available under the terms and conditions of >> the BSD License @@ -1381,22 +1382,24 @@ ProcessFvFile ( >> >> // >> // Install FvInfo(2) Ppi >> + // NOTE: FvInfo2 must be installed before FvInfo so that recursive >> processing of encapsulated >> + // FVs inherit the proper AuthenticationStatus. >> // >> - PeiServicesInstallFvInfoPpi ( >> + PeiServicesInstallFvInfo2Ppi( >> &FvHeader->FileSystemGuid, >> - (VOID**) FvHeader, >> - (UINT32) FvHeader->FvLength, >> + (VOID**)FvHeader, >> + (UINT32)FvHeader->FvLength, >> &ParentFvImageInfo.FvName, >> - &FileInfo.FileName >> + &FileInfo.FileName, >> + AuthenticationStatus >> ); >> >> - PeiServicesInstallFvInfo2Ppi ( >> + PeiServicesInstallFvInfoPpi ( >> &FvHeader->FileSystemGuid, >> (VOID**) FvHeader, >> (UINT32) FvHeader->FvLength, >> &ParentFvImageInfo.FvName, >> - &FileInfo.FileName, >> - AuthenticationStatus >> + &FileInfo.FileName >> ); >> >> // >> _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

