]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.c
MdeModulePkg: Clean up source files
[mirror_edk2.git] / MdeModulePkg / Universal / LockBox / SmmLockBox / SmmLockBox.c
index f1880d464d1f143200488e8a884374d6737810d0..28d5180e011e51dca7614ec0174e3adcb6998bec 100644 (file)
@@ -1,15 +1,15 @@
 /** @file\r
   LockBox SMM driver.\r
-  \r
+\r
   Caution: This module requires additional review when modified.\r
   This driver will have external input - communicate buffer in SMM mode.\r
   This external input must be validated carefully to avoid security issue like\r
   buffer overflow, integer overflow.\r
-  \r
+\r
   SmmLockBoxHandler(), SmmLockBoxRestore(), SmmLockBoxUpdate(), SmmLockBoxSave()\r
   will receive untrusted input and do basic validation.\r
 \r
-Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
 \r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions\r
@@ -47,7 +47,7 @@ BOOLEAN              mLocked = FALSE;
   Restore buffer and length are external input, so this function will validate\r
   it is in SMRAM.\r
 \r
-  @param LockBoxParameterSave  parameter of lock box save \r
+  @param LockBoxParameterSave  parameter of lock box save\r
 **/\r
 VOID\r
 SmmLockBoxSave (\r
@@ -131,7 +131,7 @@ SmmLockBoxSetAttributes (
   Restore buffer and length are external input, so this function will validate\r
   it is in SMRAM.\r
 \r
-  @param LockBoxParameterUpdate  parameter of lock box update \r
+  @param LockBoxParameterUpdate  parameter of lock box update\r
 **/\r
 VOID\r
 SmmLockBoxUpdate (\r
@@ -181,7 +181,7 @@ SmmLockBoxUpdate (
   Restore buffer and length are external input, so this function will validate\r
   it is in SMRAM.\r
 \r
-  @param LockBoxParameterRestore  parameter of lock box restore \r
+  @param LockBoxParameterRestore  parameter of lock box restore\r
 **/\r
 VOID\r
 SmmLockBoxRestore (\r
@@ -217,6 +217,9 @@ SmmLockBoxRestore (
                (VOID *)(UINTN)TempLockBoxParameterRestore.Buffer,\r
                (UINTN *)&TempLockBoxParameterRestore.Length\r
                );\r
+    if (Status == EFI_BUFFER_TOO_SMALL) {\r
+      LockBoxParameterRestore->Length = TempLockBoxParameterRestore.Length;\r
+    }\r
   }\r
   LockBoxParameterRestore->Header.ReturnStatus = (UINT64)Status;\r
   return ;\r
@@ -267,7 +270,7 @@ SmmLockBoxHandler (
   EFI_SMM_LOCK_BOX_PARAMETER_HEADER *LockBoxParameterHeader;\r
   UINTN                             TempCommBufferSize;\r
 \r
-  DEBUG ((EFI_D_ERROR, "SmmLockBox SmmLockBoxHandler Enter\n"));\r
+  DEBUG ((DEBUG_INFO, "SmmLockBox SmmLockBoxHandler Enter\n"));\r
 \r
   //\r
   // If input is invalid, stop processing this SMI\r
@@ -294,9 +297,9 @@ SmmLockBoxHandler (
 \r
   LockBoxParameterHeader->ReturnStatus = (UINT64)-1;\r
 \r
-  DEBUG ((EFI_D_ERROR, "SmmLockBox LockBoxParameterHeader - %x\n", (UINTN)LockBoxParameterHeader));\r
+  DEBUG ((DEBUG_INFO, "SmmLockBox LockBoxParameterHeader - %x\n", (UINTN)LockBoxParameterHeader));\r
 \r
-  DEBUG ((EFI_D_ERROR, "SmmLockBox Command - %x\n", (UINTN)LockBoxParameterHeader->Command));\r
+  DEBUG ((DEBUG_INFO, "SmmLockBox Command - %x\n", (UINTN)LockBoxParameterHeader->Command));\r
 \r
   switch (LockBoxParameterHeader->Command) {\r
   case EFI_SMM_LOCK_BOX_COMMAND_SAVE:\r
@@ -341,7 +344,7 @@ SmmLockBoxHandler (
 \r
   LockBoxParameterHeader->Command = (UINT32)-1;\r
 \r
-  DEBUG ((EFI_D_ERROR, "SmmLockBox SmmLockBoxHandler Exit\n"));\r
+  DEBUG ((DEBUG_INFO, "SmmLockBox SmmLockBoxHandler Exit\n"));\r
 \r
   return EFI_SUCCESS;\r
 }\r
@@ -350,7 +353,7 @@ SmmLockBoxHandler (
   Smm Ready To Lock event notification handler.\r
 \r
   It sets a flag indicating that SMRAM has been locked.\r
-  \r
+\r
   @param[in] Protocol   Points to the protocol's unique identifier.\r
   @param[in] Interface  Points to the interface instance.\r
   @param[in] Handle     The handle on which the interface was installed.\r
@@ -375,7 +378,7 @@ SmmReadyToLockEventNotify (
   @param[in] ImageHandle  Image handle of this driver.\r
   @param[in] SystemTable  A Pointer to the EFI System Table.\r
 \r
-  @retval EFI_SUCEESS     \r
+  @retval EFI_SUCEESS\r
   @return Others          Some error occurs.\r
 **/\r
 EFI_STATUS\r