REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Qi Zhang <qi1.zhang@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Qi Zhang <qi1.zhang@intel.com>
---
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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
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\FspMeasurementLib.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\FspMeasurementLib.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\FspMeasurementLib.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\FspMeasurementLib.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\FspMeasurementLib.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\TpmMeasurementLibNull.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\TpmMeasurementLibNull.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\TpmMeasurementLibNull.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\TpmMeasurementLibNull.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\TpmMeasurementLibNull.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\TpmMeasurementLibNull.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@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>
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@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Qi Zhang <qi1.zhang@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Qi Zhang <qi1.zhang@intel.com>
---
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@intel.com] -=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#63932): https://edk2.groups.io/g/devel/message/63932
Mute This Topic: https://groups.io/mt/76019593/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
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@intel.com>
> Sent: Tuesday, August 11, 2020 8:19 AM
> To: devel@edk2.groups.io; Zhang, Qi1 <qi1.zhang@intel.com>
> Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J
> <jian.j.wang@intel.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>
> 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@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>;
> Wang, Jian J <jian.j.wang@intel.com>; Kumar, Rahul1
> <rahul1.kumar@intel.com>
> 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@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Qi Zhang <qi1.zhang@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Signed-off-by: Qi Zhang <qi1.zhang@intel.com>
> ---
> 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@intel.com] -=-
> =-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#63935): https://edk2.groups.io/g/devel/message/63935
Mute This Topic: https://groups.io/mt/76019593/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
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@intel.com>
Sent: 2020年8月11日 8:54
To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io
Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>
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@intel.com>
> Sent: Tuesday, August 11, 2020 8:19 AM
> To: devel@edk2.groups.io; Zhang, Qi1 <qi1.zhang@intel.com>
> Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J
> <jian.j.wang@intel.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>
> 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@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Kumar,
> Rahul1 <rahul1.kumar@intel.com>
> 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@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Qi Zhang <qi1.zhang@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Signed-off-by: Qi Zhang <qi1.zhang@intel.com>
> ---
> 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@intel.com] -=- =-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#63938): https://edk2.groups.io/g/devel/message/63938
Mute This Topic: https://groups.io/mt/76019593/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Regards,
Jian
> -----Original Message-----
> From: Zhang, Qi1 <qi1.zhang@intel.com>
> Sent: Thursday, August 06, 2020 8:34 AM
> To: devel@edk2.groups.io
> Cc: Zhang, Qi1 <qi1.zhang@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>;
> Wang, Jian J <jian.j.wang@intel.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>
> Subject: [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@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Qi Zhang <qi1.zhang@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Signed-off-by: Qi Zhang <qi1.zhang@intel.com>
> ---
> 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 (#64043): https://edk2.groups.io/g/devel/message/64043
Mute This Topic: https://groups.io/mt/76019593/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.