SecurityPkg: TcgSmm: Handle invalid parameter in MOR SMI handler
authorZhang, Chao B <chao.b.zhang@intel.com>
Thu, 19 Jul 2018 09:56:38 +0000 (17:56 +0800)
committerZhang, Chao B <chao.b.zhang@intel.com>
Sat, 21 Jul 2018 01:46:49 +0000 (09:46 +0800)
Add more logic to filter invalid function parameter in MOR Control SMI handler

Cc: Long Qin <qin.long@intel.com>
Cc: Yao Jiewen <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Long Qin <qin.long@intel.com>
SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c
SecurityPkg/Tcg/TcgSmm/TcgSmm.c

index 21b1014..4a1a293 100644 (file)
@@ -153,6 +153,10 @@ MemoryClearCallback (
       return EFI_SUCCESS;\r
     }\r
     MorControl &= ~MOR_CLEAR_MEMORY_BIT_MASK;\r
+  } else {\r
+    mTcgNvs->MemoryClear.ReturnCode = MOR_REQUEST_GENERAL_FAILURE;\r
+    DEBUG ((EFI_D_ERROR, "[TPM] MOR Parameter error! Parameter = %x\n", mTcgNvs->MemoryClear.Parameter));\r
+    return EFI_SUCCESS;\r
   }\r
 \r
   DataSize = sizeof (UINT8);\r
index 0b8a002..d3ddae6 100644 (file)
@@ -271,6 +271,10 @@ MemoryClearCallback (
       return EFI_SUCCESS;\r
     }\r
     MorControl &= ~MOR_CLEAR_MEMORY_BIT_MASK;\r
+  } else {\r
+    mTcgNvs->MemoryClear.ReturnCode = MOR_REQUEST_GENERAL_FAILURE;\r
+    DEBUG ((EFI_D_ERROR, "[TPM] MOR Parameter error! Parameter = %x\n", mTcgNvs->MemoryClear.Parameter));\r
+    return EFI_SUCCESS;\r
   }\r
 \r
   DataSize = sizeof (UINT8);\r