Re: [PATCH v2 9/9] SecurityPkg/Tcg2: handle PRE HASH and LOG ONLY


Liming Gao
 

Qi:
EccPlugin will be enabled in open CI. Then, ECC result can be checked in open CI result. Now, I use the standalone EccCheck.py from https://github.com/shenglei10/edk2/tree/ecc_script to check the patch set.

Thanks
Liming

-----Original Message-----
From: Zhang, Qi1 <qi1.zhang@...>
Sent: 2020年8月11日 8:54
To: Gao, Liming <liming.gao@...>; devel@edk2.groups.io
Cc: Yao, Jiewen <jiewen.yao@...>; Wang, Jian J <jian.j.wang@...>; Kumar, Rahul1 <rahul1.kumar@...>
Subject: RE: [edk2-devel] [PATCH v2 9/9] SecurityPkg/Tcg2: handle PRE HASH and LOG ONLY

Hi, Liming

Thanks for your comments! Is there any wiki of how to run ECC plugin?

BRs
Qi Zhang

-----Original Message-----
From: Gao, Liming <liming.gao@...>
Sent: Tuesday, August 11, 2020 8:19 AM
To: devel@edk2.groups.io; Zhang, Qi1 <qi1.zhang@...>
Cc: Yao, Jiewen <jiewen.yao@...>; Wang, Jian J
<jian.j.wang@...>; Kumar, Rahul1 <rahul1.kumar@...>
Subject: RE: [edk2-devel] [PATCH v2 9/9] SecurityPkg/Tcg2: handle PRE
HASH and LOG ONLY

Qi:
I run ECC plugin (https://edk2.groups.io/g/devel/message/63271) for
this patch set. It reports below issues. Can you help update the patches to fix them?

EFI coding style error
*Error code: 3002
*Non-Boolean comparisons should use a compare operator (==, !=, >, < >=, <=)
*file: D:\AllPkg\edk2\SecurityPkg\Tcg\Tcg2Pei\Tcg2Pei.c
*Line number: 456
*Predicate Expression: (Flags & EDKII_TCG_PRE_HASH EFI coding style error
*Error code: 3002
*Non-Boolean comparisons should use a compare operator (==, !=, >, < >=, <=)
*file: D:\AllPkg\edk2\SecurityPkg\Tcg\Tcg2Pei\Tcg2Pei.c
*Line number: 456
*Predicate Expression: Flags & EDKII_TCG_PRE_HASH_LOG_ONLY EFI
coding style error
*Error code: 3002
*Non-Boolean comparisons should use a compare operator (==, !=, >, < >=, <=)
*file: D:\AllPkg\edk2\SecurityPkg\Tcg\Tcg2Pei\Tcg2Pei.c
*Line number: 459
*Predicate Expression: Flags & EDKII_TCG_PRE_HASH EFI coding style error
*Error code: 4002
*Function header doesn't exist
*file:
D:\AllPkg\edk2\IntelFsp2WrapperPkg\Library\BaseFspMeasurementLib\FspMe
asurementLib.c
*Line number: 279
*Function [mFspFindFspHeader] has NO comment immediately preceding it.
EFI coding style error
*Error code: 8005
*Variable name does not follow the rules: 1. First character should
be upper case 2. Must contain lower case characters 3. No white space characters 4.
Global variable name must start with a 'g'
*file:
D:\AllPkg\edk2\IntelFsp2WrapperPkg\Library\BaseFspMeasurementLib\FspMe
asurementLib.c
*Line number: 178
*The variable name [*UPDEventLo] does not follow the rules EFI
coding style error
*Error code: 8006
*Function name does not follow the rules: 1. First character should
be upper case 2. Must contain lower case characters 3. No white space characters
*file:
D:\AllPkg\edk2\IntelFsp2WrapperPkg\Library\BaseFspMeasurementLib\FspMe
asurementLib.c
*Line number: 279
*The function name [mFspFindFspHeader] does not follow the rules EFI
coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\IntelFsp2WrapperPkg\Library\BaseFspMeasurementLib\FspMe
asurementLib.c
*Line number: 149
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\IntelFsp2WrapperPkg\Library\BaseFspMeasurementLib\FspMe
asurementLib.c
*Line number: 312
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\SecurityPkg\Library\PeiTpmMeasurementLib\EventLogRecord.c
*Line number: 86
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\SecurityPkg\Library\PeiTpmMeasurementLib\EventLogRecord.c
*Line number: 155
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\SecurityPkg\Library\DxeTpmMeasurementLib\EventLogRecord.
c
*Line number: 86
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\SecurityPkg\Library\DxeTpmMeasurementLib\EventLogRecord.
c
*Line number: 155
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\MdeModulePkg\Library\TpmMeasurementLibNull\TpmMeasur
ementLibNull.c
*Line number: 43
*Comment does NOT have tail **/
EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\MdeModulePkg\Library\TpmMeasurementLibNull\TpmMeasur
ementLibNull.c
*Line number: 43
*in Comment, <@param[in] Descrption> does NOT consistent with
parameter name PcrIndex EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\MdeModulePkg\Library\TpmMeasurementLibNull\TpmMeasur
ementLibNull.c
*Line number: 43
*in Comment, <@param[in] FirmwareBlobBase> does NOT consistent with
parameter name Description EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\MdeModulePkg\Library\TpmMeasurementLibNull\TpmMeasur
ementLibNull.c
*Line number: 43
*in Comment, <@param[in] FirmwareBlobLength> does NOT consistent
with parameter name FirmwareBlobBase EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\MdeModulePkg\Library\TpmMeasurementLibNull\TpmMeasur
ementLibNull.c
*Line number: 43
*in Comment, <@retval EFI_SUCCESS> does NOT consistent with
parameter name FirmwareBlobLength EFI coding style error
*Error code: 9002
*The function headers should follow Doxygen special documentation
blocks in section 2.3.5
*file:
D:\AllPkg\edk2\MdeModulePkg\Library\TpmMeasurementLibNull\TpmMeasur
ementLibNull.c
*Line number: 70
*Comment does NOT have tail **/

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Qi
Zhang
Sent: 2020年8月6日 8:34
To: devel@edk2.groups.io
Cc: Zhang, Qi1 <qi1.zhang@...>; Yao, Jiewen
<jiewen.yao@...>; Wang, Jian J <jian.j.wang@...>; Kumar,
Rahul1 <rahul1.kumar@...>
Subject: [edk2-devel] [PATCH v2 9/9] SecurityPkg/Tcg2: handle PRE HASH
and LOG ONLY

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376

Cc: Jiewen Yao <jiewen.yao@...>
Cc: Jian J Wang <jian.j.wang@...>
Cc: Qi Zhang <qi1.zhang@...>
Cc: Rahul Kumar <rahul1.kumar@...>
Signed-off-by: Qi Zhang <qi1.zhang@...>
---
SecurityPkg/Include/Ppi/Tcg.h | 5 +++++
SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c | 12 +++++++-----
2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/SecurityPkg/Include/Ppi/Tcg.h
b/SecurityPkg/Include/Ppi/Tcg.h index
0e943f2465..22f47f9817 100644
--- a/SecurityPkg/Include/Ppi/Tcg.h
+++ b/SecurityPkg/Include/Ppi/Tcg.h
@@ -18,6 +18,11 @@ typedef struct _EDKII_TCG_PPI EDKII_TCG_PPI; //
#define EDKII_TCG_PRE_HASH 0x0000000000000001 +//+// This bit is
shall be set when HashData is the pre-hash digest and log only.+//+#define
EDKII_TCG_PRE_HASH_LOG_ONLY 0x0000000000000002+ /** Tpm measure
and log data, and extend the measurement result into a specific PCR.
diff --git a/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
b/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
index 246968bb7f..b56b03746c 100644
--- a/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
+++ b/SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c
@@ -453,13 +453,15 @@ HashLogExtendEvent (
return EFI_DEVICE_ERROR; } - if(Flags & EDKII_TCG_PRE_HASH) {+ if
((Flags & EDKII_TCG_PRE_HASH) || (Flags & EDKII_TCG_PRE_HASH_LOG_ONLY))
{ ZeroMem (&DigestList, sizeof(DigestList)); CopyMem (&DigestList,
HashData, sizeof(DigestList));- Status = Tpm2PcrExtend (- 0,-
&DigestList- );+ if (Flags & EDKII_TCG_PRE_HASH) {+ Status =
Tpm2PcrExtend (+ NewEventHdr->PCRIndex,+
&DigestList+ );+ } } else { Status = HashAndExtend
( NewEventHdr->PCRIndex,--
2.26.2.windows.1


-=-=-=-=-=-=
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#63760):
https://edk2.groups.io/g/devel/message/63760
Mute This Topic: https://groups.io/mt/76019593/1759384
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub
[liming.gao@...] -=- =-=-=-=-=

Join {devel@edk2.groups.io to automatically receive all group messages.