From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 557FB225E966E for ; Wed, 21 Mar 2018 17:14:23 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Mar 2018 17:20:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,341,1517904000"; d="scan'208";a="35785022" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by FMSMGA003.fm.intel.com with ESMTP; 21 Mar 2018 17:20:54 -0700 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 21 Mar 2018 17:20:53 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX114.amr.corp.intel.com (10.18.116.8) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 21 Mar 2018 17:20:52 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.80]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.166]) with mapi id 14.03.0319.002; Thu, 22 Mar 2018 08:20:51 +0800 From: "Yao, Jiewen" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" Thread-Topic: [Patch] Vlv2TbltDevicePkg: Remove DxeTcg2PhysicalPresenceLibNull Thread-Index: AQHTwWa69xBfOtP/bkSaV9tPnHrRsKPbZGuw Date: Thu, 22 Mar 2018 00:20:50 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503AB0B3D4@shsmsx102.ccr.corp.intel.com> References: <20180321224817.20644-1-michael.d.kinney@intel.com> In-Reply-To: <20180321224817.20644-1-michael.d.kinney@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2YxMGIzMzctYTU2OS00Y2Y5LWEwN2YtYzZiNGJkM2UyNDE0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJ6RjB5XC9ybUJPVlFZOHNEWmh6WlozbnJ4elFoT2NUS0FyeDB2S2tWVWpYZUhyenhPbkh4UWRieTVNMFdGcTl2MCJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] Vlv2TbltDevicePkg: Remove DxeTcg2PhysicalPresenceLibNull X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2018 00:14:23 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Jiewen.yao@intel.com > -----Original Message----- > From: Kinney, Michael D > Sent: Thursday, March 22, 2018 6:48 AM > To: edk2-devel@lists.01.org > Cc: Kinney, Michael D ; Yao, Jiewen > ; Guo, Mang > Subject: [Patch] Vlv2TbltDevicePkg: Remove DxeTcg2PhysicalPresenceLibNull >=20 > From: "Kinney, Michael D" >=20 > https://bugzilla.tianocore.org/show_bug.cgi?id=3D908 >=20 > The following commit that to use Tcg2 instead of TrEE breaks the > build of Vlv2TbltDevicePkg\Library\DxeTcg2PhysicalPresenceLibNull >=20 > https://github.com/tianocore/edk2/commit/9461604e1490f73fdbcc8e957dbe7 > 5f75c73b027#diff-c85873f3649e35873a11936ace983807 >=20 > The correct fix is to remove the DxeTcg2PhysicalPresenceLibNull > library instance and update library mappings in DSC files. >=20 > Cc: Jiewen Yao > C: David Wei > Cc: Mang Guo > Signed-off-by: Michael D Kinney > Contributed-under: TianoCore Contribution Agreement 1.1 > --- > .../DxeTcg2PhysicalPresenceLibNull.c | 242 ---------------= ------ > .../DxeTcg2PhysicalPresenceLibNull.inf | 46 ---- > Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 4 +- > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 4 +- > Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 4 +- > 5 files changed, 3 insertions(+), 297 deletions(-) > delete mode 100644 > Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2PhysicalP= re > senceLibNull.c > delete mode 100644 > Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2PhysicalP= re > senceLibNull.inf >=20 > diff --git > a/Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2Physica= lP > resenceLibNull.c > b/Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2Physica= lP > resenceLibNull.c > deleted file mode 100644 > index 96fad05527..0000000000 > --- > a/Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2Physica= lP > resenceLibNull.c > +++ /dev/null > @@ -1,242 +0,0 @@ > -/** @file > - Execute pending TPM2 requests from OS or BIOS. > - > - Caution: This module requires additional review when modified. > - This driver will have external input - variable. > - This external input must be validated carefully to avoid security issu= e. > - > - Tcg2ExecutePendingTpmRequest() will receive untrusted input and do > validation. > - > -Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.
> -This program and the accompanying materials > -are licensed and made available under the terms and conditions of the BS= D > License > -which accompanies this distribution. The full text of the license may b= e found > at > -http://opensource.org/licenses/bsd-license.php > - > -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS > OR IMPLIED. > - > -**/ > - > -#include > - > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > -#include > - > - > -/** > - Get string by string id from HII Interface. > - > - @param[in] Id String ID. > - > - @retval CHAR16 * String from ID. > - @retval NULL If error occurs. > - > -**/ > -CHAR16 * > -Tcg2PhysicalPresenceGetStringById ( > - IN EFI_STRING_ID Id > - ) > -{ > - return NULL; > -} > - > -/** > - Send ClearControl and Clear command to TPM. > - > - @param[in] PlatformAuth platform auth value. NULL means no > platform auth change. > - > - @retval EFI_SUCCESS Operation completed successfully. > - @retval EFI_TIMEOUT The register can't run into the expected > status in time. > - @retval EFI_BUFFER_TOO_SMALL Response data buffer is too small. > - @retval EFI_DEVICE_ERROR Unexpected device behavior. > - > -**/ > -EFI_STATUS > -EFIAPI > -TpmCommandClear ( > - IN TPM2B_AUTH *PlatformAuth OPTIONAL > - ) > -{ > - return EFI_SUCCESS; > -} > - > -/** > - Execute physical presence operation requested by the OS. > - > - @param[in] PlatformAuth platform auth value. NULL means > no platform auth change. > - @param[in] CommandCode Physical presence operation > value. > - @param[in, out] PpiFlags The physical presence interface fl= ags. > - > - @retval TREE_PP_OPERATION_RESPONSE_BIOS_FAILURE Unknown > physical presence operation. > - @retval TREE_PP_OPERATION_RESPONSE_BIOS_FAILURE Error occurred > during sending command to TPM or > - receiving response > from TPM. > - @retval Others Return code from > the TPM device after command execution. > -**/ > -UINT32 > -Tcg2ExecutePhysicalPresence ( > - IN TPM2B_AUTH *PlatformAuth, > OPTIONAL > - IN UINT32 CommandCode, > - IN OUT EFI_TREE_PHYSICAL_PRESENCE_FLAGS *PpiFlags > - ) > -{ > - return 0; > -} > - > - > -/** > - Read the specified key for user confirmation. > - > - @param[in] CautionKey If true, F12 is used as confirm key; > - If false, F10 is used as confirm key. > - > - @retval TRUE User confirmed the changes by input. > - @retval FALSE User discarded the changes. > -**/ > -BOOLEAN > -Tcg2ReadUserKey ( > - IN BOOLEAN CautionKey > - ) > -{ > - return FALSE; > -} > - > -/** > - The constructor function register UNI strings into imageHandle. > - > - It will ASSERT() if that operation fails and it will always return EFI= _SUCCESS. > - > - @param ImageHandle The firmware allocated handle for the EFI image. > - @param SystemTable A pointer to the EFI System Table. > - > - @retval EFI_SUCCESS The constructor successfully added string packag= e. > - @retval Other value The constructor can't add string package. > -**/ > -EFI_STATUS > -EFIAPI > -Tcg2PhysicalPresenceLibConstructor ( > - IN EFI_HANDLE ImageHandle, > - IN EFI_SYSTEM_TABLE *SystemTable > - ) > -{ > - return EFI_SUCCESS; > -} > - > -/** > - Display the confirm text and get user confirmation. > - > - @param[in] TpmPpCommand The requested TPM physical presence > command. > - > - @retval TRUE The user has confirmed the changes. > - @retval FALSE The user doesn't confirm the changes. > -**/ > -BOOLEAN > -Tcg2UserConfirm ( > - IN UINT32 TpmPpCommand > - ) > -{ > - return FALSE; > -} > - > -/** > - Check if there is a valid physical presence command request. Also upda= tes > parameter value > - to whether the requested physical presence command already confirmed b= y > user > - > - @param[in] TcgPpData EFI Tcg2 Physical Presence > request data. > - @param[in] Flags The physical presence interface > flags. > - @param[out] RequestConfirmed If the physical presence > operation command required user confirm from UI. > - True, it indicates the > command doesn't require user confirm, or already confirmed > - in last boot cycle by > user. > - False, it indicates the > command need user confirm from UI. > - > - @retval TRUE Physical Presence operation command is valid. > - @retval FALSE Physical Presence operation command is invalid. > - > -**/ > -BOOLEAN > -Tcg2HaveValidTpmRequest ( > - IN EFI_TREE_PHYSICAL_PRESENCE *TcgPpData, > - IN EFI_TREE_PHYSICAL_PRESENCE_FLAGS Flags, > - OUT BOOLEAN *RequestConfirmed > - ) > -{ > - return TRUE; > -} > - > - > -/** > - Check and execute the requested physical presence command. > - > - Caution: This function may receive untrusted input. > - TcgPpData variable is external input, so this function will validate > - its data structure to be valid value. > - > - @param[in] PlatformAuth platform auth value. NULL means no > platform auth change. > - @param[in] TcgPpData Point to the physical presence NV > variable. > - @param[in] Flags The physical presence interface flags. > -**/ > -VOID > -Tcg2ExecutePendingTpmRequest ( > - IN TPM2B_AUTH *PlatformAuth, > OPTIONAL > - IN EFI_TREE_PHYSICAL_PRESENCE *TcgPpData, > - IN EFI_TREE_PHYSICAL_PRESENCE_FLAGS Flags > - ) > -{ > - return; > -} > - > -/** > - Check and execute the pending TPM request. > - > - The TPM request may come from OS or BIOS. This API will display reques= t > information and wait > - for user confirmation if TPM request exists. The TPM request will be s= ent to > TPM device after > - the TPM request is confirmed, and one or more reset may be required to > make TPM request to > - take effect. > - > - This API should be invoked after console in and console out are all re= ady as > they are required > - to display request information and get user input to confirm the reque= st. > - > - @param[in] PlatformAuth platform auth value. NULL > means no platform auth change. > -**/ > -VOID > -EFIAPI > -Tcg2PhysicalPresenceLibProcessRequest ( > - IN TPM2B_AUTH *PlatformAuth OPTIONAL > - ) > -{ > - return; > -} > - > -/** > - Check if the pending TPM request needs user input to confirm. > - > - The TPM request may come from OS. This API will check if TPM request e= xists > and need user > - input to confirmation. > - > - @retval TRUE TPM needs input to confirm user physical > presence. > - @retval FALSE TPM doesn't need input to confirm user physical > presence. > - > -**/ > -BOOLEAN > -EFIAPI > -Tcg2PhysicalPresenceLibNeedUserConfirm( > - VOID > - ) > -{ > - > - return FALSE; > -} > - > diff --git > a/Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2Physica= lP > resenceLibNull.inf > b/Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2Physica= lP > resenceLibNull.inf > deleted file mode 100644 > index b67fd13893..0000000000 > --- > a/Vlv2TbltDevicePkg/Library/DxeTcg2PhysicalPresenceLibNull/DxeTcg2Physica= lP > resenceLibNull.inf > +++ /dev/null > @@ -1,46 +0,0 @@ > -## @file > -# Null instance of DxeTcg2PhysicalPresenceLib > -# > -# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved. > -# > -# This program and the accompanying materials are licensed and made avai= lable > under > -# the terms and conditions of the BSD License that accompanies this > distribution. > -# The full text of the license may be found at > -# http://opensource.org/licenses/bsd-license.php. > -# > -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS > OR IMPLIED. > -# > -# > -# > - > -[Defines] > - INF_VERSION =3D 0x00010005 > - BASE_NAME =3D DxeTcg2PhysicalPresenceLib > - FILE_GUID =3D > B41B3DB3-ACC5-4fcd-9992-891F3F9C0DA5 > - MODULE_TYPE =3D DXE_DRIVER > - VERSION_STRING =3D 1.0 > - LIBRARY_CLASS =3D Tcg2PhysicalPresenceLib|DXE_DRIVER > DXE_RUNTIME_DRIVER DXE_SAL_DRIVER UEFI_APPLICATION UEFI_DRIVER > - > -# > -# The following information is for reference only and not required by th= e build > tools. > -# > -# VALID_ARCHITECTURES =3D IA32 X64 IPF EBC > -# > - > -[Sources] > - DxeTcg2PhysicalPresenceLibNull.c > - > -[Packages] > - MdePkg/MdePkg.dec > - MdeModulePkg/MdeModulePkg.dec > - SecurityPkg/SecurityPkg.dec > - > -[LibraryClasses] > - > - > -[Protocols] > - > - > -[Guids] > - > diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc > b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc > index 682e090a99..dc2c5b63e9 100644 > --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc > +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc > @@ -292,9 +292,7 @@ [LibraryClasses.common] > !endif >=20 > TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMe > asurementLib.inf >=20 > Tcg2PhysicalPresenceLib|SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/Dx= eT > cg2PhysicalPresenceLib.inf > -!if $(FTPM_ENABLE) =3D=3D TRUE >=20 > Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN > ull.inf > -!endif >=20 >=20 >=20 > Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.i > nf > @@ -1201,7 +1199,7 @@ [Components.X64] > !if $(FTPM_ENABLE) =3D=3D TRUE >=20 > Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceL > ibSeC.inf > !else > - > Tcg2PhysicalPresenceLib|$(PLATFORM_PACKAGE)/Library/DxeTcg2PhysicalPrese > nceLibNull/DxeTcg2PhysicalPresenceLibNull.inf > + > Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf > !endif > } >=20 > diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > index baba5e2055..35a51944f3 100644 > --- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > +++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > @@ -292,9 +292,7 @@ [LibraryClasses.common] > !endif >=20 > TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMe > asurementLib.inf >=20 > Tcg2PhysicalPresenceLib|SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/Dx= eT > cg2PhysicalPresenceLib.inf > -!if $(FTPM_ENABLE) =3D=3D TRUE >=20 > Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN > ull.inf > -!endif >=20 >=20 >=20 > Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.i > nf > @@ -1189,7 +1187,7 @@ [Components.IA32] > !if $(FTPM_ENABLE) =3D=3D TRUE >=20 > Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceL > ibSeC.inf > !else > - > Tcg2PhysicalPresenceLib|$(PLATFORM_PACKAGE)/Library/DxeTcg2PhysicalPrese > nceLibNull/DxeTcg2PhysicalPresenceLibNull.inf > + > Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf > !endif > } >=20 > diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc > b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc > index 1f0be98944..5fab75c31e 100644 > --- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc > +++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc > @@ -292,9 +292,7 @@ [LibraryClasses.common] > !endif >=20 > TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMe > asurementLib.inf >=20 > Tcg2PhysicalPresenceLib|SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/Dx= eT > cg2PhysicalPresenceLib.inf > -!if $(FTPM_ENABLE) =3D=3D TRUE >=20 > Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN > ull.inf > -!endif >=20 >=20 >=20 > Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.i > nf > @@ -1201,7 +1199,7 @@ [Components.X64] > !if $(FTPM_ENABLE) =3D=3D TRUE >=20 > Tpm2DeviceLib|Vlv2TbltDevicePkg/Library/Tpm2DeviceLibSeCDxe/Tpm2DeviceL > ibSeC.inf > !else > - > Tcg2PhysicalPresenceLib|$(PLATFORM_PACKAGE)/Library/DxeTcg2PhysicalPrese > nceLibNull/DxeTcg2PhysicalPresenceLibNull.inf > + > Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf > !endif > } >=20 > -- > 2.14.2.windows.3