diff options
author | lzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-05-29 05:22:01 +0000 |
---|---|---|
committer | lzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-05-29 05:22:01 +0000 |
commit | 0c3a1db40f982d243b8e2c67ee4e8109a0737d34 (patch) | |
tree | ef0b32272e5084335145413bc693f7715c7945e8 /IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c | |
parent | b504f51998e839691e0d8c68f3f3093907575594 (diff) | |
download | edk2-platforms-0c3a1db40f982d243b8e2c67ee4e8109a0737d34.tar.xz |
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
Diffstat (limited to 'IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c')
-rw-r--r-- | IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c index 1e8ba91581..8e2706bb8a 100644 --- a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c +++ b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolRead.c @@ -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
//
|