summaryrefslogtreecommitdiffstats
path: root/SecurityPkg/Library/HashLibBaseCryptoRouter
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2015-10-16 01:46:19 +0000
committerlzeng14 <lzeng14@Edk2>2015-10-16 01:46:19 +0000
commitfe3ca12d06a534e5f10587a52730f5fd43dab831 (patch)
tree5eb128be243796196ff0872bf428d690172d3c3d /SecurityPkg/Library/HashLibBaseCryptoRouter
parente90c57aa97558f4b70984a3a4a5f734e4546e1f4 (diff)
downloadedk2-fe3ca12d06a534e5f10587a52730f5fd43dab831.tar.gz
edk2-fe3ca12d06a534e5f10587a52730f5fd43dab831.tar.bz2
edk2-fe3ca12d06a534e5f10587a52730f5fd43dab831.zip
SecurityPkg: Use PcdSet##S to instead of PcdSet##
PcdSet## has no error status returned, then the caller has no idea about whether the set operation is successful or not. PcdSet##S were added to return error status and PcdSet## APIs were put in ifndef DISABLE_NEW_DEPRECATED_INTERFACES condition. To adopt PcdSet##S and further code development with DISABLE_NEW_DEPRECATED_INTERFACES defined, we need to Replace PcdSet## usage with PcdSet##S. Normally, DynamicDefault PCD set is expected to be success, but DynamicHii PCD set failure is a legal case. PcdTpmInitializationPolicy/PcdTcg2HashAlgorithmBitmap/PcdTpm2HashMask/PcdTpmInstanceGuid all have set operation in PEI phase, PEI phase does not allow DynamicHii PCD set, so DynamicDefault is expected for them and use PcdSet##S to instead of PcdSet## and assert when set failure. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18614 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'SecurityPkg/Library/HashLibBaseCryptoRouter')
-rw-r--r--SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.c4
-rw-r--r--SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.c b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.c
index 89673373c4..4f3c8dfa7c 100644
--- a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.c
+++ b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.c
@@ -205,6 +205,7 @@ RegisterHashInterfaceLib (
UINTN Index;
UINT32 HashMask;
UINT32 BiosSupportedHashMask;
+ EFI_STATUS Status;
//
// Check allow
@@ -218,7 +219,8 @@ RegisterHashInterfaceLib (
return EFI_OUT_OF_RESOURCES;
}
BiosSupportedHashMask = PcdGet32 (PcdTcg2HashAlgorithmBitmap);
- PcdSet32 (PcdTcg2HashAlgorithmBitmap, BiosSupportedHashMask | HashMask);
+ Status = PcdSet32S (PcdTcg2HashAlgorithmBitmap, BiosSupportedHashMask | HashMask);
+ ASSERT_EFI_ERROR (Status);
//
// Check duplication
diff --git a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.c b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.c
index 98c07933d8..c3d487958b 100644
--- a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.c
+++ b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.c
@@ -258,6 +258,7 @@ RegisterHashInterfaceLib (
HASH_INTERFACE_HOB LocalHashInterfaceHob;
UINT32 HashMask;
UINT32 BiosSupportedHashMask;
+ EFI_STATUS Status;
//
// Check allow
@@ -280,7 +281,8 @@ RegisterHashInterfaceLib (
return EFI_OUT_OF_RESOURCES;
}
BiosSupportedHashMask = PcdGet32 (PcdTcg2HashAlgorithmBitmap);
- PcdSet32 (PcdTcg2HashAlgorithmBitmap, BiosSupportedHashMask | HashMask);
+ Status = PcdSet32S (PcdTcg2HashAlgorithmBitmap, BiosSupportedHashMask | HashMask);
+ ASSERT_EFI_ERROR (Status);
//
// Check duplication