Update DxeCore and FwVolDxe drivers to inherit authentication status for the FV image, if the image came from an FV image file and section in another firmware volume.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13368 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lzeng14
2012-05-29 05:22:01 +00:00
parent b504f51998
commit 0c3a1db40f
10 changed files with 195 additions and 10 deletions

View File

@ -1,7 +1,7 @@
/** @file
Implements functions to read firmware file.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@ -510,6 +510,7 @@ FvReadFileSection (
)
{
EFI_STATUS Status;
FV_DEVICE *FvDevice;
EFI_FV_ATTRIBUTES FvAttributes;
EFI_FV_FILETYPE FileType;
EFI_FV_FILE_ATTRIBUTES FileAttributes;
@ -522,6 +523,8 @@ FvReadFileSection (
return EFI_INVALID_PARAMETER;
}
FvDevice = FV_DEVICE_FROM_THIS (This);
Status = This->GetVolumeAttributes (This, &FvAttributes);
if (EFI_ERROR (Status)) {
return Status;
@ -607,6 +610,14 @@ FvReadFileSection (
AuthenticationStatus
);
}
if (!EFI_ERROR (Status)) {
//
// Inherit the authentication status.
//
*AuthenticationStatus |= FvDevice->AuthenticationStatus;
}
//
// Handle AuthenticationStatus if necessary
//