From 831bb137a88a578262cf28d60096ad563bad3f7c Mon Sep 17 00:00:00 2001 From: "Zhang, Chao B" Date: Thu, 19 Jul 2018 17:56:38 +0800 Subject: SecurityPkg: TcgSmm: Handle invalid parameter in MOR SMI handler Add more logic to filter invalid function parameter in MOR Control SMI handler Cc: Long Qin Cc: Yao Jiewen Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chao Zhang Reviewed-by: Long Qin --- SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c | 4 ++++ SecurityPkg/Tcg/TcgSmm/TcgSmm.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c b/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c index 21b1014a3b..4a1a293bfc 100644 --- a/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c +++ b/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c @@ -153,6 +153,10 @@ MemoryClearCallback ( return EFI_SUCCESS; } MorControl &= ~MOR_CLEAR_MEMORY_BIT_MASK; + } else { + mTcgNvs->MemoryClear.ReturnCode = MOR_REQUEST_GENERAL_FAILURE; + DEBUG ((EFI_D_ERROR, "[TPM] MOR Parameter error! Parameter = %x\n", mTcgNvs->MemoryClear.Parameter)); + return EFI_SUCCESS; } DataSize = sizeof (UINT8); diff --git a/SecurityPkg/Tcg/TcgSmm/TcgSmm.c b/SecurityPkg/Tcg/TcgSmm/TcgSmm.c index 0b8a002a4d..d3ddae6886 100644 --- a/SecurityPkg/Tcg/TcgSmm/TcgSmm.c +++ b/SecurityPkg/Tcg/TcgSmm/TcgSmm.c @@ -271,6 +271,10 @@ MemoryClearCallback ( return EFI_SUCCESS; } MorControl &= ~MOR_CLEAR_MEMORY_BIT_MASK; + } else { + mTcgNvs->MemoryClear.ReturnCode = MOR_REQUEST_GENERAL_FAILURE; + DEBUG ((EFI_D_ERROR, "[TPM] MOR Parameter error! Parameter = %x\n", mTcgNvs->MemoryClear.Parameter)); + return EFI_SUCCESS; } DataSize = sizeof (UINT8); -- cgit v1.2.3