SecurityPkg: Fix Tcg2 SubmitRequestToPreOSFunction() fail in second times.
Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction() has check if current request is same as previous. But it forget check RequestParameter, which causes second request fail to process, if RequestParameter is different. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com> Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>
This commit is contained in:
parent
3a0f8bdef3
commit
6d7c4a25b7
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
Tpm2ExecutePendingTpmRequest() will receive untrusted input and do validation.
|
Tpm2ExecutePendingTpmRequest() will receive untrusted input and do validation.
|
||||||
|
|
||||||
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -1208,7 +1208,8 @@ Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction (
|
||||||
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED;
|
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PpData.PPRequest != OperationRequest) {
|
if ((PpData.PPRequest != OperationRequest) ||
|
||||||
|
(PpData.PPRequestParameter != RequestParameter)) {
|
||||||
PpData.PPRequest = (UINT8)OperationRequest;
|
PpData.PPRequest = (UINT8)OperationRequest;
|
||||||
PpData.PPRequestParameter = RequestParameter;
|
PpData.PPRequestParameter = RequestParameter;
|
||||||
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);
|
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction() and Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction()
|
Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction() and Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction()
|
||||||
will receive untrusted input and do validation.
|
will receive untrusted input and do validation.
|
||||||
|
|
||||||
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -134,7 +134,8 @@ Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction (
|
||||||
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED;
|
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PpData.PPRequest != OperationRequest) {
|
if ((PpData.PPRequest != OperationRequest) ||
|
||||||
|
(PpData.PPRequestParameter != RequestParameter)) {
|
||||||
PpData.PPRequest = (UINT8)OperationRequest;
|
PpData.PPRequest = (UINT8)OperationRequest;
|
||||||
PpData.PPRequestParameter = RequestParameter;
|
PpData.PPRequestParameter = RequestParameter;
|
||||||
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);
|
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);
|
||||||
|
|
Loading…
Reference in New Issue