X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=SecurityPkg%2FLibrary%2FTpm2CommandLib%2FTpm2Session.c;fp=SecurityPkg%2FLibrary%2FTpm2CommandLib%2FTpm2Session.c;h=7f247da301fe9a9d3f0ce6718a7dae39ab406396;hp=4ca616188c2fa0a6330d0136bd89f5a2318d9b9f;hb=c411b485b63a671a1e276700cff025c73997233c;hpb=39de741e2dcb8f11e9b4438e37224797643d8451 diff --git a/SecurityPkg/Library/Tpm2CommandLib/Tpm2Session.c b/SecurityPkg/Library/Tpm2CommandLib/Tpm2Session.c index 4ca616188c..7f247da301 100644 --- a/SecurityPkg/Library/Tpm2CommandLib/Tpm2Session.c +++ b/SecurityPkg/Library/Tpm2CommandLib/Tpm2Session.c @@ -27,9 +27,9 @@ typedef struct { } TPM2_START_AUTH_SESSION_COMMAND; typedef struct { - TPM2_RESPONSE_HEADER Header; - TPMI_SH_AUTH_SESSION SessionHandle; - TPM2B_NONCE NonceTPM; + TPM2_RESPONSE_HEADER Header; + TPMI_SH_AUTH_SESSION SessionHandle; + TPM2B_NONCE NonceTPM; } TPM2_START_AUTH_SESSION_RESPONSE; #pragma pack() @@ -54,15 +54,15 @@ typedef struct { EFI_STATUS EFIAPI Tpm2StartAuthSession ( - IN TPMI_DH_OBJECT TpmKey, - IN TPMI_DH_ENTITY Bind, - IN TPM2B_NONCE *NonceCaller, - IN TPM2B_ENCRYPTED_SECRET *Salt, - IN TPM_SE SessionType, - IN TPMT_SYM_DEF *Symmetric, - IN TPMI_ALG_HASH AuthHash, - OUT TPMI_SH_AUTH_SESSION *SessionHandle, - OUT TPM2B_NONCE *NonceTPM + IN TPMI_DH_OBJECT TpmKey, + IN TPMI_DH_ENTITY Bind, + IN TPM2B_NONCE *NonceCaller, + IN TPM2B_ENCRYPTED_SECRET *Salt, + IN TPM_SE SessionType, + IN TPMT_SYM_DEF *Symmetric, + IN TPMI_ALG_HASH AuthHash, + OUT TPMI_SH_AUTH_SESSION *SessionHandle, + OUT TPM2B_NONCE *NonceTPM ) { EFI_STATUS Status; @@ -75,20 +75,20 @@ Tpm2StartAuthSession ( // // Construct command // - SendBuffer.Header.tag = SwapBytes16(TPM_ST_NO_SESSIONS); - SendBuffer.Header.commandCode = SwapBytes32(TPM_CC_StartAuthSession); + SendBuffer.Header.tag = SwapBytes16 (TPM_ST_NO_SESSIONS); + SendBuffer.Header.commandCode = SwapBytes32 (TPM_CC_StartAuthSession); SendBuffer.TpmKey = SwapBytes32 (TpmKey); - SendBuffer.Bind = SwapBytes32 (Bind); - Buffer = (UINT8 *)&SendBuffer.NonceCaller; + SendBuffer.Bind = SwapBytes32 (Bind); + Buffer = (UINT8 *)&SendBuffer.NonceCaller; WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (NonceCaller->size)); - Buffer += sizeof(UINT16); + Buffer += sizeof (UINT16); CopyMem (Buffer, NonceCaller->buffer, NonceCaller->size); Buffer += NonceCaller->size; WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Salt->size)); - Buffer += sizeof(UINT16); + Buffer += sizeof (UINT16); CopyMem (Buffer, Salt->secret, Salt->size); Buffer += Salt->size; @@ -96,49 +96,49 @@ Tpm2StartAuthSession ( Buffer++; WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->algorithm)); - Buffer += sizeof(UINT16); + Buffer += sizeof (UINT16); switch (Symmetric->algorithm) { - case TPM_ALG_NULL: - break; - case TPM_ALG_AES: - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.aes)); - Buffer += sizeof(UINT16); - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->mode.aes)); - Buffer += sizeof(UINT16); - break; - case TPM_ALG_SM4: - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.SM4)); - Buffer += sizeof(UINT16); - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->mode.SM4)); - Buffer += sizeof(UINT16); - break; - case TPM_ALG_SYMCIPHER: - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.sym)); - Buffer += sizeof(UINT16); - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->mode.sym)); - Buffer += sizeof(UINT16); - break; - case TPM_ALG_XOR: - WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.xor)); - Buffer += sizeof(UINT16); - break; - default: - ASSERT (FALSE); - DEBUG ((DEBUG_ERROR, "Tpm2StartAuthSession - Symmetric->algorithm - %x\n", Symmetric->algorithm)); - return EFI_UNSUPPORTED; + case TPM_ALG_NULL: + break; + case TPM_ALG_AES: + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.aes)); + Buffer += sizeof (UINT16); + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->mode.aes)); + Buffer += sizeof (UINT16); + break; + case TPM_ALG_SM4: + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.SM4)); + Buffer += sizeof (UINT16); + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->mode.SM4)); + Buffer += sizeof (UINT16); + break; + case TPM_ALG_SYMCIPHER: + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.sym)); + Buffer += sizeof (UINT16); + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->mode.sym)); + Buffer += sizeof (UINT16); + break; + case TPM_ALG_XOR: + WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (Symmetric->keyBits.xor)); + Buffer += sizeof (UINT16); + break; + default: + ASSERT (FALSE); + DEBUG ((DEBUG_ERROR, "Tpm2StartAuthSession - Symmetric->algorithm - %x\n", Symmetric->algorithm)); + return EFI_UNSUPPORTED; } WriteUnaligned16 ((UINT16 *)Buffer, SwapBytes16 (AuthHash)); - Buffer += sizeof(UINT16); + Buffer += sizeof (UINT16); - SendBufferSize = (UINT32) ((UINTN)Buffer - (UINTN)&SendBuffer); + SendBufferSize = (UINT32)((UINTN)Buffer - (UINTN)&SendBuffer); SendBuffer.Header.paramSize = SwapBytes32 (SendBufferSize); // // send Tpm command // RecvBufferSize = sizeof (RecvBuffer); - Status = Tpm2SubmitCommand (SendBufferSize, (UINT8 *)&SendBuffer, &RecvBufferSize, (UINT8 *)&RecvBuffer); + Status = Tpm2SubmitCommand (SendBufferSize, (UINT8 *)&SendBuffer, &RecvBufferSize, (UINT8 *)&RecvBuffer); if (EFI_ERROR (Status)) { return Status; } @@ -147,8 +147,9 @@ Tpm2StartAuthSession ( DEBUG ((DEBUG_ERROR, "Tpm2StartAuthSession - RecvBufferSize Error - %x\n", RecvBufferSize)); return EFI_DEVICE_ERROR; } - if (SwapBytes32(RecvBuffer.Header.responseCode) != TPM_RC_SUCCESS) { - DEBUG ((DEBUG_ERROR, "Tpm2StartAuthSession - responseCode - %x\n", SwapBytes32(RecvBuffer.Header.responseCode))); + + if (SwapBytes32 (RecvBuffer.Header.responseCode) != TPM_RC_SUCCESS) { + DEBUG ((DEBUG_ERROR, "Tpm2StartAuthSession - responseCode - %x\n", SwapBytes32 (RecvBuffer.Header.responseCode))); return EFI_DEVICE_ERROR; } @@ -157,7 +158,7 @@ Tpm2StartAuthSession ( // *SessionHandle = SwapBytes32 (RecvBuffer.SessionHandle); NonceTPM->size = SwapBytes16 (RecvBuffer.NonceTPM.size); - if (NonceTPM->size > sizeof(TPMU_HA)) { + if (NonceTPM->size > sizeof (TPMU_HA)) { DEBUG ((DEBUG_ERROR, "Tpm2StartAuthSession - NonceTPM->size error %x\n", NonceTPM->size)); return EFI_DEVICE_ERROR; }