]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.c
SecurityPkg: Reallocate TPM Active PCRs based on platform support
[mirror_edk2.git] / SecurityPkg / Library / HashLibBaseCryptoRouter / HashLibBaseCryptoRouterPei.c
index e21103d3711bd8c691962ad8d86a074c88dae9bd..eeb424b6c3f2a487a26d9834c824a9f91549935b 100644 (file)
@@ -3,7 +3,7 @@
   hash handler registered, such as SHA1, SHA256.\r
   Platform can use PcdTpm2HashMask to mask some hash engines.\r
 \r
-Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved. <BR>\r
+Copyright (c) 2013 - 2021, Intel Corporation. All rights reserved. <BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -330,13 +330,18 @@ RegisterHashInterfaceLib (
   UINTN               Index;\r
   HASH_INTERFACE_HOB  *HashInterfaceHob;\r
   UINT32              HashMask;\r
+  UINT32              Tpm2HashMask;\r
   EFI_STATUS          Status;\r
 \r
   //\r
   // Check allow\r
   //\r
-  HashMask = Tpm2GetHashMaskFromAlgo (&HashInterface->HashGuid);\r
-  if ((HashMask & PcdGet32 (PcdTpm2HashMask)) == 0) {\r
+  HashMask     = Tpm2GetHashMaskFromAlgo (&HashInterface->HashGuid);\r
+  Tpm2HashMask = PcdGet32 (PcdTpm2HashMask);\r
+\r
+  if ((Tpm2HashMask != 0) &&\r
+      ((HashMask & Tpm2HashMask) == 0))\r
+  {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r