This reverts commit "MdeModulePkg/SMM: Disallow unregister SMI handler in other SMI handler" for better design later.
Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Jiaxin Wu <jiaxin...@intel.com> Cc: Ray Ni <ray...@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Cc: Ray Ni <ray...@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Sami Mujawar <sami.muja...@arm.com> Signed-off-by: Zhiguang Liu <zhiguang....@intel.com> --- MdeModulePkg/Core/PiSmmCore/Smi.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/MdeModulePkg/Core/PiSmmCore/Smi.c b/MdeModulePkg/Core/PiSmmCore/Smi.c index b3a81ac877..3489c130fd 100644 --- a/MdeModulePkg/Core/PiSmmCore/Smi.c +++ b/MdeModulePkg/Core/PiSmmCore/Smi.c @@ -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); -- 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#117575): https://edk2.groups.io/g/devel/message/117575 Mute This Topic: https://groups.io/mt/105437956/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-