* [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check
@ 2016-08-31 1:46 Zhang, Chao B
2016-08-31 1:59 ` Yao, Jiewen
2016-09-01 6:42 ` Long, Qin
0 siblings, 2 replies; 3+ messages in thread
From: Zhang, Chao B @ 2016-08-31 1:46 UTC (permalink / raw)
To: edk2-devel; +Cc: qin.long, jiewen.yao, Chao Zhang
Check response return code before return from Tpm12Extend and
Tpm12PhysicalPresence.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
---
SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c | 5 +++++
.../Library/Tpm12CommandLib/Tpm12PhysicalPresence.c | 14 +++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
index 321653f..18d5b96 100644
--- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
+++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
@@ -74,6 +74,11 @@ Tpm12Extend (
return Status;
}
+ if (SwapBytes32(Response.Hdr.returnCode) != TPM_SUCCESS) {
+ DEBUG ((EFI_D_ERROR, "Tpm12Extend: Response Code error! 0x%08x\r\n", SwapBytes32(Response.Hdr.returnCode)));
+ return EFI_DEVICE_ERROR;
+ }
+
if (NewPcrValue != NULL) {
CopyMem (NewPcrValue, &Response.TpmDigest, sizeof (*NewPcrValue));
}
diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
index a730334..d8d1998 100644
--- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
+++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
@@ -44,6 +44,7 @@ Tpm12PhysicalPresence (
IN TPM_PHYSICAL_PRESENCE PhysicalPresence
)
{
+ EFI_STATUS Status;
TPM_CMD_PHYSICAL_PRESENCE Command;
TPM_RSP_COMMAND_HDR Response;
UINT32 Length;
@@ -56,5 +57,16 @@ Tpm12PhysicalPresence (
Command.Hdr.ordinal = SwapBytes32 (TSC_ORD_PhysicalPresence);
Command.PhysicalPresence = SwapBytes16 (PhysicalPresence);
Length = sizeof (Response);
- return Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);
+
+ Status = Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ if (SwapBytes32(Response.returnCode) != TPM_SUCCESS) {
+ DEBUG ((EFI_D_ERROR, "Tpm12PhysicalPresence: Response Code error! 0x%08x\r\n", SwapBytes32(Response.returnCode)));
+ return EFI_DEVICE_ERROR;
+ }
+
+ return EFI_SUCCESS;
}
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check
2016-08-31 1:46 [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check Zhang, Chao B
@ 2016-08-31 1:59 ` Yao, Jiewen
2016-09-01 6:42 ` Long, Qin
1 sibling, 0 replies; 3+ messages in thread
From: Yao, Jiewen @ 2016-08-31 1:59 UTC (permalink / raw)
To: Zhang, Chao B, edk2-devel@lists.01.org; +Cc: Long, Qin
Reviewed-by: Jiewen.yao@intel.com
> -----Original Message-----
> From: Zhang, Chao B
> Sent: Wednesday, August 31, 2016 9:47 AM
> To: edk2-devel@lists.01.org
> Cc: Long, Qin <qin.long@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>;
> Zhang, Chao B <chao.b.zhang@intel.com>
> Subject: [PATCH] SecurityPkg: TPM12CommandLib: Add Response
> returnCode Check
>
> Check response return code before return from Tpm12Extend and
> Tpm12PhysicalPresence.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
> ---
> SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c | 5
> +++++
> .../Library/Tpm12CommandLib/Tpm12PhysicalPresence.c | 14
> +++++++++++++-
> 2 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
> b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
> index 321653f..18d5b96 100644
> --- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
> +++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
> @@ -74,6 +74,11 @@ Tpm12Extend (
> return Status;
> }
>
> + if (SwapBytes32(Response.Hdr.returnCode) != TPM_SUCCESS) {
> + DEBUG ((EFI_D_ERROR, "Tpm12Extend: Response Code error!
> 0x%08x\r\n", SwapBytes32(Response.Hdr.returnCode)));
> + return EFI_DEVICE_ERROR;
> + }
> +
> if (NewPcrValue != NULL) {
> CopyMem (NewPcrValue, &Response.TpmDigest, sizeof
> (*NewPcrValue));
> }
> diff --git
> a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
> b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
> index a730334..d8d1998 100644
> --- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
> +++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
> @@ -44,6 +44,7 @@ Tpm12PhysicalPresence (
> IN TPM_PHYSICAL_PRESENCE PhysicalPresence
> )
> {
> + EFI_STATUS Status;
> TPM_CMD_PHYSICAL_PRESENCE Command;
> TPM_RSP_COMMAND_HDR Response;
> UINT32 Length;
> @@ -56,5 +57,16 @@ Tpm12PhysicalPresence (
> Command.Hdr.ordinal = SwapBytes32
> (TSC_ORD_PhysicalPresence);
> Command.PhysicalPresence = SwapBytes16 (PhysicalPresence);
> Length = sizeof (Response);
> - return Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command,
> &Length, (UINT8 *)&Response);
> +
> + Status = Tpm12SubmitCommand (sizeof (Command), (UINT8
> *)&Command, &Length, (UINT8 *)&Response);
> + if (EFI_ERROR (Status)) {
> + return Status;
> + }
> +
> + if (SwapBytes32(Response.returnCode) != TPM_SUCCESS) {
> + DEBUG ((EFI_D_ERROR, "Tpm12PhysicalPresence: Response Code
> error! 0x%08x\r\n", SwapBytes32(Response.returnCode)));
> + return EFI_DEVICE_ERROR;
> + }
> +
> + return EFI_SUCCESS;
> }
> --
> 1.9.5.msysgit.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check
2016-08-31 1:46 [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check Zhang, Chao B
2016-08-31 1:59 ` Yao, Jiewen
@ 2016-09-01 6:42 ` Long, Qin
1 sibling, 0 replies; 3+ messages in thread
From: Long, Qin @ 2016-09-01 6:42 UTC (permalink / raw)
To: Zhang, Chao B, edk2-devel@lists.01.org; +Cc: Yao, Jiewen
Reviewed-by: Qin Long <qin.long@intel.com>
Best Regards & Thanks,
LONG, Qin
-----Original Message-----
From: Zhang, Chao B
Sent: Wednesday, August 31, 2016 9:47 AM
To: edk2-devel@lists.01.org
Cc: Long, Qin <qin.long@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Zhang, Chao B <chao.b.zhang@intel.com>
Subject: [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check
Check response return code before return from Tpm12Extend and Tpm12PhysicalPresence.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
---
SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c | 5 +++++
.../Library/Tpm12CommandLib/Tpm12PhysicalPresence.c | 14 +++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
index 321653f..18d5b96 100644
--- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
+++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c
@@ -74,6 +74,11 @@ Tpm12Extend (
return Status;
}
+ if (SwapBytes32(Response.Hdr.returnCode) != TPM_SUCCESS) {
+ DEBUG ((EFI_D_ERROR, "Tpm12Extend: Response Code error! 0x%08x\r\n", SwapBytes32(Response.Hdr.returnCode)));
+ return EFI_DEVICE_ERROR;
+ }
+
if (NewPcrValue != NULL) {
CopyMem (NewPcrValue, &Response.TpmDigest, sizeof (*NewPcrValue));
}
diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
index a730334..d8d1998 100644
--- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
+++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c
@@ -44,6 +44,7 @@ Tpm12PhysicalPresence (
IN TPM_PHYSICAL_PRESENCE PhysicalPresence
)
{
+ EFI_STATUS Status;
TPM_CMD_PHYSICAL_PRESENCE Command;
TPM_RSP_COMMAND_HDR Response;
UINT32 Length;
@@ -56,5 +57,16 @@ Tpm12PhysicalPresence (
Command.Hdr.ordinal = SwapBytes32 (TSC_ORD_PhysicalPresence);
Command.PhysicalPresence = SwapBytes16 (PhysicalPresence);
Length = sizeof (Response);
- return Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);
+
+ Status = Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command,
+ &Length, (UINT8 *)&Response); if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ if (SwapBytes32(Response.returnCode) != TPM_SUCCESS) {
+ DEBUG ((EFI_D_ERROR, "Tpm12PhysicalPresence: Response Code error! 0x%08x\r\n", SwapBytes32(Response.returnCode)));
+ return EFI_DEVICE_ERROR;
+ }
+
+ return EFI_SUCCESS;
}
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-01 6:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-31 1:46 [PATCH] SecurityPkg: TPM12CommandLib: Add Response returnCode Check Zhang, Chao B
2016-08-31 1:59 ` Yao, Jiewen
2016-09-01 6:42 ` Long, Qin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox