From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=hao.a.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 89D76211BD5E8 for ; Tue, 29 Jan 2019 05:44:45 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Jan 2019 05:44:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,537,1539673200"; d="scan'208";a="129454637" Received: from shwdeopenpsi014.ccr.corp.intel.com ([10.239.9.8]) by FMSMGA003.fm.intel.com with ESMTP; 29 Jan 2019 05:44:44 -0800 From: Hao Wu To: edk2-devel@lists.01.org Cc: Hao Wu , Jian J Wang , Ray Ni , Star Zeng Date: Tue, 29 Jan 2019 21:44:22 +0800 Message-Id: <20190129134424.5308-11-hao.a.wu@intel.com> X-Mailer: git-send-email 2.12.0.windows.1 In-Reply-To: <20190129134424.5308-1-hao.a.wu@intel.com> References: <20190129134424.5308-1-hao.a.wu@intel.com> Subject: [PATCH v1 10/12] MdeModulePkg/SmmLockBox(PEI): Remove an ASSERT in RestoreLockBox() X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 13:44:45 -0000 This commit is out of the scope for BZ-1409. It is a refinement for the PEI library instance within SmmLockBoxLib. For the below ASSERT statement within function RestoreLockBox(): Status = SmmCommunicationPpi->Communicate ( SmmCommunicationPpi, &CommBuffer[0], &CommSize ); if (Status == EFI_NOT_STARTED) { // // Pei SMM communication not ready yet, so we access SMRAM directly // DEBUG ((DEBUG_INFO, "SmmLockBoxPeiLib Communicate - (%r)\n", Status)); Status = InternalRestoreLockBoxFromSmram (Guid, Buffer, Length); LockBoxParameterRestore->Header.ReturnStatus = (UINT64)Status; if (Length != NULL) { LockBoxParameterRestore->Length = (UINT64)*Length; } } ASSERT_EFI_ERROR (Status); It is possible for previous codes to return an error status that is possible for happen. One example is that, when the 'if' statement 'if (Status == EFI_NOT_STARTED) {' is entered, function InternalRestoreLockBoxFromSmram() is possible to return 'BUFFER_TOO_SMALL' if the caller of RestoreLockBox() provides a buffer that is too small to hold the content of LockBox. Thus, this commit will remove the ASSERT here. Please note that the current implementation of RestoreLockBox() is handling the above-mentioned error case properly, so no additional error handling codes are needed here. Cc: Jian J Wang Cc: Ray Ni Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu --- MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.c b/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.c index 9f73480070..9d7b4c3706 100644 --- a/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.c +++ b/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.c @@ -623,7 +623,7 @@ RestoreLockBox ( LockBoxParameterRestore->Length = (UINT64)*Length; } } - ASSERT_EFI_ERROR (Status); + //ASSERT_EFI_ERROR (Status); if (Length != NULL) { *Length = (UINTN)LockBoxParameterRestore->Length; -- 2.12.0.windows.1