diff options
author | Liming Gao <liming.gao@intel.com> | 2017-02-04 14:36:40 +0800 |
---|---|---|
committer | Liming Gao <liming.gao@intel.com> | 2017-02-10 11:17:37 +0800 |
commit | 9f671b475b154c57cc6de4b629b8ad8900fa4e45 (patch) | |
tree | 542e2ea26cba0db0b66afe31adc761d41a438d1c /MdeModulePkg | |
parent | 8d127a5a3a23d960644d1bd78891ae7d55b66544 (diff) | |
download | edk2-9f671b475b154c57cc6de4b629b8ad8900fa4e45.zip edk2-9f671b475b154c57cc6de4b629b8ad8900fa4e45.tar.gz edk2-9f671b475b154c57cc6de4b629b8ad8900fa4e45.tar.bz2 |
MdeModulePkg PeiCore: Reset PeimNeedingDispatch when its security violation
When PEIM is security violation, its matched extraction ppi may not be
installed. So, its PeimNeedingDispatch will still reset to TRUE.
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg')
-rw-r--r-- | MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c index 3934ed0..ff43a90 100644 --- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c +++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c @@ -1,7 +1,7 @@ /** @file
EFI PEI Core dispatch services
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -1111,6 +1111,13 @@ PeiDispatcher ( PeimEntryPoint = (EFI_PEIM_ENTRY_POINT2)(UINTN)EntryPoint;
PeimEntryPoint (PeimFileHandle, (const EFI_PEI_SERVICES **) PeiServices);
Private->PeimDispatchOnThisPass = TRUE;
+ } else {
+ //
+ // The related GuidedSectionExtraction PPI for the
+ // signed PEIM image section may be installed in the rest
+ // of this do-while loop, so need to make another pass.
+ //
+ Private->PeimNeedingDispatch = TRUE;
}
REPORT_STATUS_CODE_WITH_EXTENDED_DATA (
|