From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web12.2306.1634089707548805663 for ; Tue, 12 Oct 2021 18:48:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Xp9OlsJK; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10135"; a="227215748" X-IronPort-AV: E=Sophos;i="5.85,369,1624345200"; d="scan'208";a="227215748" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2021 18:48:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,369,1624345200"; d="scan'208";a="591986923" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga004.jf.intel.com with ESMTP; 12 Oct 2021 18:48:27 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 12 Oct 2021 18:48:26 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 12 Oct 2021 18:48:26 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 12 Oct 2021 18:48:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PxTFWy+fMIK7+RrDG/qPf5v82N26mLS705j61lJVH40H5ZhjB4hTag9kWbcQDdXhBc22ZaMfpfQUPOHm7l6DZkaPqTRerxbIfgJCJW+g6VJrTNzt/XdEAbGDSKKDfUvob3cuQhP2XhFyjKELT/QUvcqkgVjOKViILuOUA4x7sQ+hih8XHipU2ZDbrl32NGDQjv/Pjjxw3RlyOKnWFSxMmVf0odIs+h1HuctOOB0rX5eU6XKirEfWYyhMiEzxK1esur1XIaed6h5/07EwjuJadWkniKL1czNT2jmCK1IIP5jEyo45kCE+8YuM6j5iFzq4aLw97XfSJ/D/jb9FfVlvMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VnGHUnp6zIi54jnPMpo4/jDSJj4k3SIG4fIhsYbjX00=; b=GyrYBK0+Lfiy9uNxGR2W3vKSLUXJT3cuLAtRfSufiVgdZCxH7enLZZWBktq4AIdAJinR8Ng3AqbN3O02Rg6cUg16FDOL4ik0sGrPbtgNACVMaFrj1k7Aej4+QMbai13UvQBNCBSGNFjrvAgUb0v5wN1+pCAgLx/JfMMezf6bNSjMYdVL5YazcPAFmSyGtYddwyZLgNz17stDV2kwNpMsDET2AuDhF6+FqnfrzpVLZdfllyDW2HAlGH0swk31f73uM6kEj4xDHxlLAqrKhazntkKmTlKzNH3s5N9hCGozt7LGypfjIEDOrOlIGLufK96c5+zh2h9ItJBJyncEGQYKYQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VnGHUnp6zIi54jnPMpo4/jDSJj4k3SIG4fIhsYbjX00=; b=Xp9OlsJKECpreemWxxmYGfjVoVHfBQj9hYqg0oGK52j8kw8pDH+FABQy9JO8h4uGDLi3NN1Kdk3ePczS69cOuAco8Wqut9YhTD8C0t/3dWSz84IK7I87e9lHI2rcc8GyeR4djrszHOYEorFaAJ+d415/R1nktOw2k8KEId8hSRA= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4821.namprd11.prod.outlook.com (2603:10b6:510:34::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15; Wed, 13 Oct 2021 01:48:25 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80%6]) with mapi id 15.20.4608.014; Wed, 13 Oct 2021 01:48:25 +0000 From: "Yao, Jiewen" To: Bob Morgan , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Lu, XiaoyuX" , "Jiang, Guomin" Subject: Re: [PATCH v2] CryptoPkg/BaseCryptLib: Eliminate extra buffer copy in Pkcs7Verify() Thread-Topic: [PATCH v2] CryptoPkg/BaseCryptLib: Eliminate extra buffer copy in Pkcs7Verify() Thread-Index: AQHXpousYCKdl6ydoE62pmDIpaS9+aue9q6QgDFk/kA= Date: Wed, 13 Oct 2021 01:48:24 +0000 Message-ID: References: <5bfd69a9e8b78847c5dd55fe3be0d5f629486649.1631309581.git.bobm@nvidia.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e0365045-77c5-4f40-9462-08d98deb8bc1 x-ms-traffictypediagnostic: PH0PR11MB4821: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:372; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2/6hUp8RMrPSEqMl94WIbdoxzYz0MAua7kiwDPW5ZFSkHjf/Uin4TCdv0HAXIeEvZdsd1R4MvyCZSGSBZ1Enh16MYysEbYyOdPlmsFwnZMr62dq7UItB7y9pS5tokykX/dLqSpso2pIT22DFVXTxYaKE3/5jcUMzI4yYhVnakcayO0t6nqCUh+RsCq1HJdFq4C007VRYhHaTVrlKkRJTEkvkO9p+W5mL8nhrRMpU+5dyRATc35KVHUe6ZJxTsPPVYB6btk4qt1JJymUvcans5zmN/pp+REYQ2RbtvU02HbEu59mMz1hmEYCI68/Bq4XztpwZR57U7cTg1tL+OI0wQkCrtTfbhAfUrHDuj57RHr/rzpMWIqNaDigH1kpJVhoxRVnUHolrFxY4/qAdIPV0DAdYLE5g9igiZBAiGCPEO1uMPLx3J8WxHXvLSE3K2hl3yiB1J56O31N1ORb4wvB+eOUlybKQN7Q04ahPZHRzjVPsuEqGZi4o7UbC8eVtCrdhFdoh7T9Se+NvG3kOK5jR7ckiMiAORZW6DS1zeVKoyolRIkz5rxgcgkVjS/69dAGxnBWuvMX8zq17A7/spT4El7EL6XO3dUTJphvr7qiIhovGJydga7aEtzjFj2/HTnMyqlzuqBoNwZHRcybdXxb2DaWwNUXC1ioHvCedTalBem43vhbJdJLRwwBxFwF99RCmWz7AWtJsrNwJWs7D5x3z1F+vUWNCuFC7JKOwbb76wCwFQObswVugdAOPvSxpAtdp+0jEL1jgQ+OOE+Y03a9MOG6rbuaa4jiYhcqVIV6fc9Xtlfx7vvQApLFjfz33jUYVSjBwPVyf+DW1DOGldG9LiA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(4326008)(71200400001)(76116006)(107886003)(82960400001)(66556008)(2906002)(66446008)(66476007)(53546011)(66946007)(6506007)(64756008)(26005)(966005)(55016002)(7696005)(9686003)(8936002)(52536014)(186003)(8676002)(508600001)(83380400001)(110136005)(54906003)(33656002)(316002)(86362001)(38100700002)(5660300002)(122000001)(38070700005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?RdNmM8Qncy76CspPBak+idNBhjoVDSnKDY0gH1cBn0HU40WivWYfJEEIY4uN?= =?us-ascii?Q?PQu2VXljzAyjiRov4n5SAuS4b0/TcNH7YWHZ/4oguahyuzoUQkonry60ihdm?= =?us-ascii?Q?Jddkb3PXzVMuOI+POwnBgb8IsI5dHphoyMd1DLCMbjyJ53VIRJjiQmQm42Uf?= =?us-ascii?Q?HsPm/3sY/n2ThdpKeAK6fq6oteDge11ROJwjraazm7M2ClQXqj8vCWPQKtfa?= =?us-ascii?Q?AIUM3qV7JlqO66MHa5VUZd+FGecw9IzbRg5jDGlkFtWwzH0gXr5wNpefyypF?= =?us-ascii?Q?bhv79ucC5vYJ/GJYfS1RcSZPeU9cnPlJBSNR0eA3MXG3LJQrbny7e+BsnEBY?= =?us-ascii?Q?G4AAP0Kuqp781olUs9JDZ6uYFOlOtkguKN0rT2YIuawT/1BE61zyyuqI6cCD?= =?us-ascii?Q?nunbayyFgQmnGo3JbusKz3FEjpeUnj9nvSNWiNQSabRxk/yCgeGukgK3Qvra?= =?us-ascii?Q?jlWdNqLs1oZeCIJNqTXVvOmsbXqmzXZ4YaYCVDNN8SIWjEmkIhkyQPRX8247?= =?us-ascii?Q?68toinqYdCGhuk+Eo6x8lC3SIlJTvamh7a+BRvKrmTm6C9DimD2rFuL0KK83?= =?us-ascii?Q?eNYPaJa4pG36AiaXVLT+JWEWVXkXdGUCASGxmULzetxXMNy/v/qBV7WxtYVQ?= =?us-ascii?Q?stZl1ARh0SZerKxpQgQnock2M4br3vnJvzAlrvtpyOjUblggVwP3USRAMqXq?= =?us-ascii?Q?xhM8DS8rnHSoDQ0yayJhXnh7XtrKZXkv83ylDNQveEzXCLMBUkURMz0pysqJ?= =?us-ascii?Q?CCrBUCfAChsYMp6c09aUlyy+xB+Qw151LTumewNtNy7NsKres8zlnDP/aIsn?= =?us-ascii?Q?jD3jc8rqekpPKI/ut6t6/UKK0O1Misaxg98G1u4qDT5jaOzvr2uJuueuuxNO?= =?us-ascii?Q?o8ZpgClprXr1cVGut3Fg8dUC3pN2jcSVIXqac9G3r2uI9x16GTKvdYzaUVFb?= =?us-ascii?Q?Tok/mfxA9kPlBPnQBRYaYd9brmF5djQRQHzhfNnGJfoojSa3HyuB0YN6i2lr?= =?us-ascii?Q?GY0E2hn8miineO/oYzP84oMnfoOG3+aqeUOtGMtVp91bXftTqBHLYmUaG7SG?= =?us-ascii?Q?kt7FK+qrnAcJIjbJWSErmKd0Zu/vPZi3dzDYHZ8MNOQL9CI8suFYaGSiRN3G?= =?us-ascii?Q?UKUhTNnAoIAYY8scUaLAFSIVQbgQYrOyIwP49gFX3s/Q/qtAEm/LT35TV+IQ?= =?us-ascii?Q?pOwjwU8JcJgq2BZxpu5M9Rr0ibyShtpPIbmVB22db4x52TVvwyw7rfe12zZz?= =?us-ascii?Q?umFLkutlFm0BYVaGCns1QMzaM8t6o2lP+aDVnvKqIhPKNnE6VYjIR1Rh61ca?= =?us-ascii?Q?FypaqCS4gKCLgqV9bGZO8oLI?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0365045-77c5-4f40-9462-08d98deb8bc1 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 01:48:24.9603 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D2DmadvdsaiRM49M9PGKRnPzqKA8DqwcK/jZfKdMT3TLehEFC/+DXYaIa2CnvUAGuwHKn8GmPkHohbN8LBmwvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4821 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable https://github.com/tianocore/edk2/pull/2055 pushed: https://github.com/tianocore/edk2/commit/f22feb0e3b3f08b95201b258b104c45a2a= cef71f > -----Original Message----- > From: Yao, Jiewen > Sent: Saturday, September 11, 2021 11:30 PM > To: Bob Morgan ; devel@edk2.groups.io > Cc: Wang, Jian J ; Lu, XiaoyuX ; > Jiang, Guomin > Subject: RE: [PATCH v2] CryptoPkg/BaseCryptLib: Eliminate extra buffer co= py in > Pkcs7Verify() >=20 > Reviewed-by: Jiewen Yao >=20 > > -----Original Message----- > > From: Bob Morgan > > Sent: Saturday, September 11, 2021 5:34 AM > > To: devel@edk2.groups.io > > Cc: Bob Morgan ; Yao, Jiewen ; > > Wang, Jian J ; Lu, XiaoyuX ; > > Jiang, Guomin > > Subject: [PATCH v2] CryptoPkg/BaseCryptLib: Eliminate extra buffer copy= in > > Pkcs7Verify() > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3617 > > > > Create a read-only openSSL BIO wrapper for the existing input > > buffer passed to Pkcs7Verify() instead of copying the buffer > > into an empty writable BIO which causes memory allocations > > within openSSL. > > > > Cc: Jiewen Yao > > Cc: Jian J Wang > > Cc: Xiaoyu Lu > > Cc: Guomin Jiang > > Signed-off-by: Bob Morgan > > --- > > CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c | 6 +----- > > 1 file changed, 1 insertion(+), 5 deletions(-) > > > > diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c > > b/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c > > index d99597d181..8eda98f7b2 100644 > > --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c > > +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c > > @@ -864,15 +864,11 @@ Pkcs7Verify ( > > // For generic PKCS#7 handling, InData may be NULL if the content is= present > > // in PKCS#7 structure. So ignore NULL checking here. > > // > > - DataBio =3D BIO_new (BIO_s_mem ()); > > + DataBio =3D BIO_new_mem_buf (InData, (int) DataLength); > > if (DataBio =3D=3D NULL) { > > goto _Exit; > > } > > > > - if (BIO_write (DataBio, InData, (int) DataLength) <=3D 0) { > > - goto _Exit; > > - } > > - > > // > > // Allow partial certificate chains, terminated by a non-self-signed= but > > // still trusted intermediate certificate. Also disable time checks. > > -- > > 2.17.1