Reviewed by: [email protected]
> -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Derek Lin > Sent: Thursday, April 7, 2016 9:55 AM > To: [email protected] > Cc: Derek Lin <[email protected]> > Subject: [edk2] [PATCH] SecurityPkg/Tpm12CommandLib: Fix > Tpm12NvWriteValue cmd. > > Fix command length endian. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Derek Lin <[email protected]> > --- > SecurityPkg/Library/Tpm12CommandLib/Tpm12NvStorage.c | 11 > +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12NvStorage.c > b/SecurityPkg/Library/Tpm12CommandLib/Tpm12NvStorage.c > index 7baafa8..e176b00 100644 > --- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12NvStorage.c > +++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12NvStorage.c > @@ -2,6 +2,7 @@ > Implement TPM1.2 NV storage related command. > > Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved. <BR> > +(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> > This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD > License > which accompanies this distribution. The full text of the license may be > found at > @@ -199,8 +200,9 @@ Tpm12NvWriteValue ( > { > EFI_STATUS Status; > TPM_CMD_NV_WRITE_VALUE Command; > + UINT32 CommandLength; > TPM_RSP_COMMAND_HDR Response; > - UINT32 Length; > + UINT32 ResponseLength; > > if (DataSize > sizeof (Command.Data)) { > return EFI_UNSUPPORTED; > @@ -210,14 +212,15 @@ Tpm12NvWriteValue ( > // send Tpm command TPM_ORD_NV_WriteValue > // > Command.Hdr.tag = SwapBytes16 (TPM_TAG_RQU_COMMAND); > - Command.Hdr.paramSize = SwapBytes32 (sizeof (Command) - > sizeof(Command.Data) + DataSize); > + CommandLength = sizeof (Command) - sizeof(Command.Data) + > DataSize; > + Command.Hdr.paramSize = SwapBytes32 (CommandLength); > Command.Hdr.ordinal = SwapBytes32 (TPM_ORD_NV_WriteValue); > Command.NvIndex = SwapBytes32 (NvIndex); > Command.Offset = SwapBytes32 (Offset); > Command.DataSize = SwapBytes32 (DataSize); > CopyMem (Command.Data, Data, DataSize); > - Length = sizeof (Response); > - Status = Tpm12SubmitCommand (Command.Hdr.paramSize, (UINT8 > *)&Command, &Length, (UINT8 *)&Response); > + ResponseLength = sizeof (Response); > + Status = Tpm12SubmitCommand (CommandLength, (UINT8 > *)&Command, &ResponseLength, (UINT8 *)&Response); > if (EFI_ERROR (Status)) { > return Status; > } > -- > 2.7.4.windows.1 > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

