Blame SOURCES/0021-sapi-scope-command-handles.patch

897056
From 495309fd8c6ef3c705c46cc28f9df52f5d59cba8 Mon Sep 17 00:00:00 2001
897056
From: William Roberts <william.c.roberts@intel.com>
897056
Date: Wed, 8 Jun 2022 11:09:53 -0500
897056
Subject: [PATCH 21/23] sapi: scope command handles
897056
897056
Scope command handles to where they are used.
897056
897056
 - Compared to the upstream commit d4dee42e already missing commands were
897056
   left out.
897056
897056
Signed-off-by: William Roberts <william.c.roberts@intel.com>
897056
---
897056
 src/tss2-sys/sysapi_util.c | 237 +++++++++++++++++++------------------
897056
 1 file changed, 119 insertions(+), 118 deletions(-)
897056
897056
diff --git a/src/tss2-sys/sysapi_util.c b/src/tss2-sys/sysapi_util.c
897056
index 685fcee8..d84acc5d 100644
897056
--- a/src/tss2-sys/sysapi_util.c
897056
+++ b/src/tss2-sys/sysapi_util.c
897056
@@ -168,127 +168,128 @@ TSS2_RC CommonOneCall(
897056
     return rval;
897056
 }
897056
 
897056
-static const COMMAND_HANDLES commandArray[] =
897056
-{
897056
-    { TPM2_CC_Startup, 0, 0 },
897056
-    { TPM2_CC_Shutdown, 0, 0 },
897056
-    { TPM2_CC_SelfTest, 0, 0 },
897056
-    { TPM2_CC_IncrementalSelfTest, 0, 0 },
897056
-    { TPM2_CC_GetTestResult, 0, 0 },
897056
-    { TPM2_CC_StartAuthSession, 2, 1 },
897056
-    { TPM2_CC_PolicyRestart, 1, 0 },
897056
-    { TPM2_CC_Create, 1, 0 },
897056
-    { TPM2_CC_Load, 1, 1 },
897056
-    { TPM2_CC_LoadExternal, 0, 1 },
897056
-    { TPM2_CC_ReadPublic, 1, 0 },
897056
-    { TPM2_CC_ActivateCredential, 2, 0 },
897056
-    { TPM2_CC_MakeCredential, 1, 0 },
897056
-    { TPM2_CC_Unseal, 1, 0 },
897056
-    { TPM2_CC_ObjectChangeAuth, 2, 0 },
897056
-    { TPM2_CC_Duplicate, 2, 0 },
897056
-    { TPM2_CC_Rewrap, 2, 0 },
897056
-    { TPM2_CC_Import, 1, 0 },
897056
-    { TPM2_CC_RSA_Encrypt, 1, 0 },
897056
-    { TPM2_CC_RSA_Decrypt, 1, 0 },
897056
-    { TPM2_CC_ECDH_KeyGen, 1, 0 },
897056
-    { TPM2_CC_ECDH_ZGen, 1, 0 },
897056
-    { TPM2_CC_ECC_Parameters, 0, 0 },
897056
-    { TPM2_CC_ZGen_2Phase, 1, 0 },
897056
-    { TPM2_CC_EncryptDecrypt, 1, 0 },
897056
-    { TPM2_CC_EncryptDecrypt2, 1, 0 },
897056
-    { TPM2_CC_Hash, 0, 0 },
897056
-    { TPM2_CC_HMAC, 1, 0 },
897056
-    { TPM2_CC_GetRandom, 0, 0 },
897056
-    { TPM2_CC_StirRandom, 0, 0 },
897056
-    { TPM2_CC_HMAC_Start, 1, 1 },
897056
-    { TPM2_CC_HashSequenceStart, 0, 1 },
897056
-    { TPM2_CC_SequenceUpdate, 1, 0 },
897056
-    { TPM2_CC_SequenceComplete, 1, 0 },
897056
-    { TPM2_CC_EventSequenceComplete, 2, 0 },
897056
-    { TPM2_CC_Certify, 2, 0 },
897056
-    { TPM2_CC_CertifyCreation, 2, 0 },
897056
-    { TPM2_CC_Quote, 1, 0 },
897056
-    { TPM2_CC_GetSessionAuditDigest, 3, 0 },
897056
-    { TPM2_CC_GetCommandAuditDigest, 2, 0 },
897056
-    { TPM2_CC_GetTime, 2, 0 },
897056
-    { TPM2_CC_Commit, 1, 0 },
897056
-    { TPM2_CC_EC_Ephemeral, 0, 0 },
897056
-    { TPM2_CC_VerifySignature, 1, 0 },
897056
-    { TPM2_CC_Sign, 1, 0 },
897056
-    { TPM2_CC_SetCommandCodeAuditStatus, 1, 0 },
897056
-    { TPM2_CC_PCR_Extend, 1, 0 },
897056
-    { TPM2_CC_PCR_Event, 1, 0 },
897056
-    { TPM2_CC_PCR_Read, 0, 0 },
897056
-    { TPM2_CC_PCR_Allocate, 1, 0 },
897056
-    { TPM2_CC_PCR_SetAuthPolicy, 1, 0 },
897056
-    { TPM2_CC_PCR_SetAuthValue, 1, 0 },
897056
-    { TPM2_CC_PCR_Reset, 1, 0 },
897056
-    { TPM2_CC_PolicySigned, 2, 0 },
897056
-    { TPM2_CC_PolicySecret, 2, 0 },
897056
-    { TPM2_CC_PolicyTicket, 1, 0 },
897056
-    { TPM2_CC_PolicyOR, 1, 0 },
897056
-    { TPM2_CC_PolicyPCR, 1, 0 },
897056
-    { TPM2_CC_PolicyLocality, 1, 0 },
897056
-    { TPM2_CC_PolicyNV, 3, 0 },
897056
-    { TPM2_CC_PolicyNvWritten, 1, 0 },
897056
-    { TPM2_CC_PolicyCounterTimer, 1, 0 },
897056
-    { TPM2_CC_PolicyCommandCode, 1, 0 },
897056
-    { TPM2_CC_PolicyPhysicalPresence, 1, 0 },
897056
-    { TPM2_CC_PolicyCpHash, 1, 0 },
897056
-    { TPM2_CC_PolicyNameHash, 1, 0 },
897056
-    { TPM2_CC_PolicyDuplicationSelect, 1, 0 },
897056
-    { TPM2_CC_PolicyAuthorize, 1, 0 },
897056
-    { TPM2_CC_PolicyAuthValue, 1, 0 },
897056
-    { TPM2_CC_PolicyPassword, 1, 0 },
897056
-    { TPM2_CC_PolicyGetDigest, 1, 0 },
897056
-    { TPM2_CC_PolicyTemplate, 1, 0 },
897056
-    { TPM2_CC_CreatePrimary, 1, 1 },
897056
-    { TPM2_CC_HierarchyControl, 1, 0 },
897056
-    { TPM2_CC_SetPrimaryPolicy, 1, 0 },
897056
-    { TPM2_CC_ChangePPS, 1, 0 },
897056
-    { TPM2_CC_ChangeEPS, 1, 0 },
897056
-    { TPM2_CC_Clear, 1, 0 },
897056
-    { TPM2_CC_ClearControl, 1, 0 },
897056
-    { TPM2_CC_HierarchyChangeAuth, 1, 0 },
897056
-    { TPM2_CC_DictionaryAttackLockReset, 1, 0 },
897056
-    { TPM2_CC_DictionaryAttackParameters, 1, 0 },
897056
-    { TPM2_CC_PP_Commands, 1, 0 },
897056
-    { TPM2_CC_SetAlgorithmSet, 1, 0 },
897056
-    { TPM2_CC_FieldUpgradeStart, 2, 0 },
897056
-    { TPM2_CC_FieldUpgradeData, 0, 0 },
897056
-    { TPM2_CC_FirmwareRead, 0, 0 },
897056
-    { TPM2_CC_ContextSave, 1, 0 },
897056
-    { TPM2_CC_ContextLoad, 0, 1 },
897056
-    { TPM2_CC_FlushContext, 1, 0 },
897056
-    { TPM2_CC_EvictControl, 2, 0 },
897056
-    { TPM2_CC_ReadClock, 0, 0 },
897056
-    { TPM2_CC_ClockSet, 1, 0 },
897056
-    { TPM2_CC_ClockRateAdjust, 1, 0 },
897056
-    { TPM2_CC_GetCapability, 0, 0 },
897056
-    { TPM2_CC_TestParms, 0, 0 },
897056
-    { TPM2_CC_NV_DefineSpace, 1, 0 },
897056
-    { TPM2_CC_NV_UndefineSpace, 2, 0 },
897056
-    { TPM2_CC_NV_UndefineSpaceSpecial, 2, 0 },
897056
-    { TPM2_CC_NV_ReadPublic, 1, 0 },
897056
-    { TPM2_CC_NV_Write, 2, 0 },
897056
-    { TPM2_CC_NV_Increment, 2, 0 },
897056
-    { TPM2_CC_NV_Extend, 2, 0 },
897056
-    { TPM2_CC_NV_SetBits, 2, 0 },
897056
-    { TPM2_CC_NV_WriteLock, 2, 0 },
897056
-    { TPM2_CC_NV_GlobalWriteLock, 1, 0 },
897056
-    { TPM2_CC_NV_Read, 2, 0 },
897056
-    { TPM2_CC_NV_ReadLock, 2, 0 },
897056
-    { TPM2_CC_NV_ChangeAuth, 1, 0 },
897056
-    { TPM2_CC_NV_Certify, 3, 0 },
897056
-    { TPM2_CC_CreateLoaded, 1, 1 },
897056
-    { TPM2_CC_PolicyAuthorizeNV, 3, 0 },
897056
-    { TPM2_CC_AC_GetCapability, 1, 0 },
897056
-    { TPM2_CC_AC_Send, 3, 0 },
897056
-    { TPM2_CC_Policy_AC_SendSelect, 1, 0 }
897056
-};
897056
 
897056
 static int GetNumHandles(TPM2_CC commandCode, bool req)
897056
 {
897056
+    static const COMMAND_HANDLES commandArray[] =
897056
+    {
897056
+        { TPM2_CC_Startup, 0, 0 },
897056
+        { TPM2_CC_Shutdown, 0, 0 },
897056
+        { TPM2_CC_SelfTest, 0, 0 },
897056
+        { TPM2_CC_IncrementalSelfTest, 0, 0 },
897056
+        { TPM2_CC_GetTestResult, 0, 0 },
897056
+        { TPM2_CC_StartAuthSession, 2, 1 },
897056
+        { TPM2_CC_PolicyRestart, 1, 0 },
897056
+        { TPM2_CC_Create, 1, 0 },
897056
+        { TPM2_CC_Load, 1, 1 },
897056
+        { TPM2_CC_LoadExternal, 0, 1 },
897056
+        { TPM2_CC_ReadPublic, 1, 0 },
897056
+        { TPM2_CC_ActivateCredential, 2, 0 },
897056
+        { TPM2_CC_MakeCredential, 1, 0 },
897056
+        { TPM2_CC_Unseal, 1, 0 },
897056
+        { TPM2_CC_ObjectChangeAuth, 2, 0 },
897056
+        { TPM2_CC_Duplicate, 2, 0 },
897056
+        { TPM2_CC_Rewrap, 2, 0 },
897056
+        { TPM2_CC_Import, 1, 0 },
897056
+        { TPM2_CC_RSA_Encrypt, 1, 0 },
897056
+        { TPM2_CC_RSA_Decrypt, 1, 0 },
897056
+        { TPM2_CC_ECDH_KeyGen, 1, 0 },
897056
+        { TPM2_CC_ECDH_ZGen, 1, 0 },
897056
+        { TPM2_CC_ECC_Parameters, 0, 0 },
897056
+        { TPM2_CC_ZGen_2Phase, 1, 0 },
897056
+        { TPM2_CC_EncryptDecrypt, 1, 0 },
897056
+        { TPM2_CC_EncryptDecrypt2, 1, 0 },
897056
+        { TPM2_CC_Hash, 0, 0 },
897056
+        { TPM2_CC_HMAC, 1, 0 },
897056
+        { TPM2_CC_GetRandom, 0, 0 },
897056
+        { TPM2_CC_StirRandom, 0, 0 },
897056
+        { TPM2_CC_HMAC_Start, 1, 1 },
897056
+        { TPM2_CC_HashSequenceStart, 0, 1 },
897056
+        { TPM2_CC_SequenceUpdate, 1, 0 },
897056
+        { TPM2_CC_SequenceComplete, 1, 0 },
897056
+        { TPM2_CC_EventSequenceComplete, 2, 0 },
897056
+        { TPM2_CC_Certify, 2, 0 },
897056
+        { TPM2_CC_CertifyCreation, 2, 0 },
897056
+        { TPM2_CC_Quote, 1, 0 },
897056
+        { TPM2_CC_GetSessionAuditDigest, 3, 0 },
897056
+        { TPM2_CC_GetCommandAuditDigest, 2, 0 },
897056
+        { TPM2_CC_GetTime, 2, 0 },
897056
+        { TPM2_CC_Commit, 1, 0 },
897056
+        { TPM2_CC_EC_Ephemeral, 0, 0 },
897056
+        { TPM2_CC_VerifySignature, 1, 0 },
897056
+        { TPM2_CC_Sign, 1, 0 },
897056
+        { TPM2_CC_SetCommandCodeAuditStatus, 1, 0 },
897056
+        { TPM2_CC_PCR_Extend, 1, 0 },
897056
+        { TPM2_CC_PCR_Event, 1, 0 },
897056
+        { TPM2_CC_PCR_Read, 0, 0 },
897056
+        { TPM2_CC_PCR_Allocate, 1, 0 },
897056
+        { TPM2_CC_PCR_SetAuthPolicy, 1, 0 },
897056
+        { TPM2_CC_PCR_SetAuthValue, 1, 0 },
897056
+        { TPM2_CC_PCR_Reset, 1, 0 },
897056
+        { TPM2_CC_PolicySigned, 2, 0 },
897056
+        { TPM2_CC_PolicySecret, 2, 0 },
897056
+        { TPM2_CC_PolicyTicket, 1, 0 },
897056
+        { TPM2_CC_PolicyOR, 1, 0 },
897056
+        { TPM2_CC_PolicyPCR, 1, 0 },
897056
+        { TPM2_CC_PolicyLocality, 1, 0 },
897056
+        { TPM2_CC_PolicyNV, 3, 0 },
897056
+        { TPM2_CC_PolicyNvWritten, 1, 0 },
897056
+        { TPM2_CC_PolicyCounterTimer, 1, 0 },
897056
+        { TPM2_CC_PolicyCommandCode, 1, 0 },
897056
+        { TPM2_CC_PolicyPhysicalPresence, 1, 0 },
897056
+        { TPM2_CC_PolicyCpHash, 1, 0 },
897056
+        { TPM2_CC_PolicyNameHash, 1, 0 },
897056
+        { TPM2_CC_PolicyDuplicationSelect, 1, 0 },
897056
+        { TPM2_CC_PolicyAuthorize, 1, 0 },
897056
+        { TPM2_CC_PolicyAuthValue, 1, 0 },
897056
+        { TPM2_CC_PolicyPassword, 1, 0 },
897056
+        { TPM2_CC_PolicyGetDigest, 1, 0 },
897056
+        { TPM2_CC_PolicyTemplate, 1, 0 },
897056
+        { TPM2_CC_CreatePrimary, 1, 1 },
897056
+        { TPM2_CC_HierarchyControl, 1, 0 },
897056
+        { TPM2_CC_SetPrimaryPolicy, 1, 0 },
897056
+        { TPM2_CC_ChangePPS, 1, 0 },
897056
+        { TPM2_CC_ChangeEPS, 1, 0 },
897056
+        { TPM2_CC_Clear, 1, 0 },
897056
+        { TPM2_CC_ClearControl, 1, 0 },
897056
+        { TPM2_CC_HierarchyChangeAuth, 1, 0 },
897056
+        { TPM2_CC_DictionaryAttackLockReset, 1, 0 },
897056
+        { TPM2_CC_DictionaryAttackParameters, 1, 0 },
897056
+        { TPM2_CC_PP_Commands, 1, 0 },
897056
+        { TPM2_CC_SetAlgorithmSet, 1, 0 },
897056
+        { TPM2_CC_FieldUpgradeStart, 2, 0 },
897056
+        { TPM2_CC_FieldUpgradeData, 0, 0 },
897056
+        { TPM2_CC_FirmwareRead, 0, 0 },
897056
+        { TPM2_CC_ContextSave, 1, 0 },
897056
+        { TPM2_CC_ContextLoad, 0, 1 },
897056
+        { TPM2_CC_FlushContext, 1, 0 },
897056
+        { TPM2_CC_EvictControl, 2, 0 },
897056
+        { TPM2_CC_ReadClock, 0, 0 },
897056
+        { TPM2_CC_ClockSet, 1, 0 },
897056
+        { TPM2_CC_ClockRateAdjust, 1, 0 },
897056
+        { TPM2_CC_GetCapability, 0, 0 },
897056
+        { TPM2_CC_TestParms, 0, 0 },
897056
+        { TPM2_CC_NV_DefineSpace, 1, 0 },
897056
+        { TPM2_CC_NV_UndefineSpace, 2, 0 },
897056
+        { TPM2_CC_NV_UndefineSpaceSpecial, 2, 0 },
897056
+        { TPM2_CC_NV_ReadPublic, 1, 0 },
897056
+        { TPM2_CC_NV_Write, 2, 0 },
897056
+        { TPM2_CC_NV_Increment, 2, 0 },
897056
+        { TPM2_CC_NV_Extend, 2, 0 },
897056
+        { TPM2_CC_NV_SetBits, 2, 0 },
897056
+        { TPM2_CC_NV_WriteLock, 2, 0 },
897056
+        { TPM2_CC_NV_GlobalWriteLock, 1, 0 },
897056
+        { TPM2_CC_NV_Read, 2, 0 },
897056
+        { TPM2_CC_NV_ReadLock, 2, 0 },
897056
+        { TPM2_CC_NV_ChangeAuth, 1, 0 },
897056
+        { TPM2_CC_NV_Certify, 3, 0 },
897056
+        { TPM2_CC_CreateLoaded, 1, 1 },
897056
+        { TPM2_CC_PolicyAuthorizeNV, 3, 0 },
897056
+        { TPM2_CC_AC_GetCapability, 1, 0 },
897056
+        { TPM2_CC_AC_Send, 3, 0 },
897056
+        { TPM2_CC_Policy_AC_SendSelect, 1, 0 }
897056
+    };
897056
+
897056
     uint8_t i;
897056
 
897056
     for (i = 0; i < sizeof(commandArray) / sizeof(COMMAND_HANDLES); i++) {
897056
-- 
897056
2.34.3
897056