mirror of https://github.com/acidanthera/audk.git
Revert 17b2872200
This reverts commit "MdeModulePkg/SMM: Disallow unregister SMI handler in other SMI handler" for better design later. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
This commit is contained in:
parent
de95e919be
commit
b594fba4ec
|
@ -8,8 +8,7 @@
|
|||
|
||||
#include "PiSmmCore.h"
|
||||
|
||||
SMI_HANDLER *mCurrentSmiHandler = NULL;
|
||||
LIST_ENTRY mSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mSmiEntryList);
|
||||
LIST_ENTRY mSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mSmiEntryList);
|
||||
|
||||
SMI_ENTRY mRootSmiEntry = {
|
||||
SMI_ENTRY_SIGNATURE,
|
||||
|
@ -143,18 +142,13 @@ SmiManage (
|
|||
// Link points to may be freed if unregister SMI handler.
|
||||
//
|
||||
Link = Link->ForwardLink;
|
||||
//
|
||||
// Assign gCurrentSmiHandle before calling the SMI handler and
|
||||
// set to NULL when it returns.
|
||||
//
|
||||
mCurrentSmiHandler = SmiHandler;
|
||||
Status = SmiHandler->Handler (
|
||||
(EFI_HANDLE)SmiHandler,
|
||||
Context,
|
||||
CommBuffer,
|
||||
CommBufferSize
|
||||
);
|
||||
mCurrentSmiHandler = NULL;
|
||||
|
||||
Status = SmiHandler->Handler (
|
||||
(EFI_HANDLE)SmiHandler,
|
||||
Context,
|
||||
CommBuffer,
|
||||
CommBufferSize
|
||||
);
|
||||
|
||||
switch (Status) {
|
||||
case EFI_INTERRUPT_PENDING:
|
||||
|
@ -334,13 +328,6 @@ SmiHandlerUnRegister (
|
|||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// Do not allow to unregister SMI Handler inside other SMI Handler
|
||||
//
|
||||
if ((mCurrentSmiHandler != NULL) && (mCurrentSmiHandler != SmiHandler)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
SmiEntry = SmiHandler->SmiEntry;
|
||||
|
||||
RemoveEntryList (&SmiHandler->Link);
|
||||
|
|
Loading…
Reference in New Issue