From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965758AbbJVSSl (ORCPT ); Thu, 22 Oct 2015 14:18:41 -0400 Received: from mail-by2on0056.outbound.protection.outlook.com ([207.46.100.56]:29728 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S965451AbbJVSSg (ORCPT ); Thu, 22 Oct 2015 14:18:36 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; davemloft.net; dkim=none (message not signed) header.d=none;davemloft.net; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NWMW6V-08-5QK-02 X-M-MSG: Subject: Re: [PATCH 3/8] crypto: ccp: Use precalculated hash from headers To: LABBE Corentin , , References: <1445326444-11019-1-git-send-email-clabbe.montjoie@gmail.com> <1445326444-11019-4-git-send-email-clabbe.montjoie@gmail.com> CC: , From: Tom Lendacky Message-ID: <56292876.9070001@amd.com> Date: Thu, 22 Oct 2015 13:18:30 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1445326444-11019-4-git-send-email-clabbe.montjoie@gmail.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.180.168.240] X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(479174004)(377454003)(199003)(24454002)(50466002)(101416001)(87936001)(77096005)(97736004)(105586002)(23746002)(83506001)(5008740100001)(92566002)(64126003)(19580405001)(106466001)(86362001)(5001770100001)(19580395003)(2201001)(99136001)(575784001)(11100500001)(36756003)(5007970100001)(47776003)(117636001)(189998001)(64706001)(46102003)(59896002)(50986999)(76176999)(65816999)(54356999)(87266999)(2950100001)(65806001)(65956001)(4001350100001)(5004730100002)(62816006);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR12MB0706;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0706;2:7o2gmfdeL0s5Q7Q2GPb2qfpR7plkgKD4Y4IkXLnUbYp2r4LW7DYup1NUzA50nz3sZJ6ljjacsKosRs49w0GgEMG68+Mh+2J9J2xhDGD7uEVHrLt1VfZDFUKGdVAS4gkOrMvVowYzdCpWfwqudH3EG2mxi+xuPkOKvFtjJ2ljdRg=;3:EiGCghhm1akr6fgPqm+f3By7G4J6d5MRVwtRkahAwu42ySvMS0Ujqrt6Dqw8zZ24w440j3AwFarcw0hlFZD0+9n6DY4hQQxCWiJQXwgaRG0vn7SRp7KIDnb6cf6U0YR4gr3+21ibuMWdHVExT11ZX+flxOpeluiYNB9wccfMIITt5vAsYpUbcnF4gbtHuPQVwbq9Yrr0FtHUZ8sYKHdECwN+PgxURCOX/n+cMBY4huhqP1ql04OpcnGuULiaTt+/;25:HqASHhblsWVXAnFWErT17lbydth843HjeX1Lfs5xj43lfa8/pTrOTbTemfUV4mgHK/5QSbOGQ61CqFqe3oOECrvts6VQIv724FpKr4s0+cau0/6/7S+ZpkHUUjlksaIlJORR1uqfxudRNW+rJN1MLDWqjsKYyFVKTcm/dxIT5aFwK6a0O4njxkTxakTk43vQ1xp0wxkqsAWzc6lCe8dcQuvv7soXoU/pPAMhO2IqnRwAjw7NdUQoAATciwUaHx2RbvXWSFi7DgtxCaDUO1vM+A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0706; X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0706;20:OadZmBd+XECvGNLZDydtkZxbkIUrCdR7qPOxsf2pTTFus+42o083g05knmL+1mUVYv939K6pZRiDV9vbXHmBdhSiy6qgjRXTgfvTMu29N0BwCfCh2Qgah+mmmNaejhTGOWTzFX3GdLbTBPowZ5h3tASPStGMU0kGIvu4rs2k0wvFot1VpIVxXv+YSLeg9O+reQrj4q+klTfn3I/StjCknl8owjgmZUB566s9MGpxLxz15RN7y+R135me/BcUEgDb7T1Dm7c9cb4wGQcj9qEAAuriIE8DlVbOzHIqAt0Uwy6jCGQRpyL2HMBNNsgprg0cuvWGy2e9QsuTFrBWqe25qNr6QY1sm7VFYeqCd5euqaaqHXx6fcfefKXiz9qN0xbsHprGYInLE+LutHt+9zLyF9mVjNia5v21RLUXKQkqf+xJGj7S7fTBc4Ns9pkVirgbEGJ2Uk61UOhlZWB12xmR/CpdQ9/51QR6XgWRLzXqXNNIvm/E3GdWAsQKsEK0KSsO;4:8MOfgQq2h88fmRM5JiFdvlWJIlLPnBCrZsom/5P7NfCoNwZZbb2ZX8RfmuAlOVSWRXAhMDIBtflyfvLA7Os312W8GjcPg+WjKnoN96n24jJM+hbt8KEDm14+HEjxGOMVSYcOBCe606L3vlnzyQlSkMx1Yp8Vh3UyU8/jvOdP/GcnK2npTM1PQFZTztYlsCGwT059UtcQrk2r+zogv7LtKlM0ap99t05xU4b+T6zDyMftI7M3fWlfgOqYbrovQnwmmkhrmxuSObqHjeGP0mnNeqqqSCRmY372ssefxF3ZyeJTzzoNBO/HwCEmJx65ROBKAQi9umWEo8rGQ7tUOD48q/kazjQD/lDIGQckrYDMmEmdtpYbGoBp/+op2zXrSeDZ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001)(102215026);SRVR:BLUPR12MB0706;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0706; X-Forefront-PRVS: 0737B96801 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BLUPR12MB0706;23:Q42+jJxZiAui//mRXX9++FklYIaPKL5HUmKIh?= =?Windows-1252?Q?Zxs6+q6jweYeKOMjhhDb0yN8djcgM6Bw7qz+rYrGBSeQkOUD0QzmkpI5?= =?Windows-1252?Q?ISdx9HoZb3p+Zn5XxBR16EALcRUfxUlzUXrwonvC/VCd9sC7Apd7n3A8?= =?Windows-1252?Q?iyl1rbNM0uxdj6d4jAmd2MDxDhONbu4dIGojr91m9AZh3ygyTDBpGVSn?= =?Windows-1252?Q?lZ8HJkGh2SZaO9G8K06sN/WS84THnYC5zHEbshZ4Mu2jjujFS3Ady7DX?= =?Windows-1252?Q?QSUMaPazx+C7T1lQqeq3ym7xP7Kh6mkSEmrpCCtzJcziq5rt1PNC3Uh4?= =?Windows-1252?Q?4uo6x6xR6pDqrB03FrCZse6eBiGIrPSDF3R4i5VnMbKIM4jBJDo8kGTQ?= =?Windows-1252?Q?13z7OgyXdsJbR6vuB2FsoQMVzyz0jP2jmGoEJlW8Jtyv17SxcsaX4/wL?= =?Windows-1252?Q?b7FeCn9A82jGWNNdIpgNKOD7jQo/mqxPB7nopJeqqIRo1AtnnkN7+gn1?= =?Windows-1252?Q?rzF50aC1EPe86zaKQWc24UCyrxRcL5yqGjCGrhdkFJkHzxdLwyrzGERI?= =?Windows-1252?Q?qIDY3k5RXQIkMUthCIqvIJfbzIwGTMHCvDGABURaewpqguXe5O5VZv7f?= =?Windows-1252?Q?+xgvFhMFaoIHq+rWL8GS49oKCkUnUx6z7XiyTBEGY5MP4Nf+vihvb5tc?= =?Windows-1252?Q?o7IxzBBDLVhFbIfh51qUJB4J/B33S/6awmkRrwz3KHJEyVkosnNnLI25?= =?Windows-1252?Q?xbTl0jMWO8K0zwcricK7d6vIlrStJbzOqqH7CePaa9Thowjos5pOkbms?= =?Windows-1252?Q?Ehjh5mjxjoKU0oVHlHToSZBZ8w5P4QJBXXGCSOpBoh7BceLoTiFOuPAF?= =?Windows-1252?Q?RJIAVz4/QdXzJRURSVoyb4TcLj3ZoosMlIWT2eHZBZPdVsxFuiOgpZiF?= =?Windows-1252?Q?szsQfj+g/PtxIXGmcF9VpK0EJpzzQYc6Bfp3hoW/bQqew0LzQkhn4wTV?= =?Windows-1252?Q?pXuquBpvbSQRsWClI8cLgYGyKN+3P4Iw5sI3d7gOacBljtzTfMot3uhJ?= =?Windows-1252?Q?X5NarlXcqsU9S3OwF7ilKxYpUyDJLsMhL41XxNKu6NMG9KaGDQhGHfMw?= =?Windows-1252?Q?uJnTBLTdJuTUrHyS8Dn3lsy9hO0+AF18oFrrNr69VBpVRDL3fbLHbuHK?= =?Windows-1252?Q?gzqm2vTGeqqZZYq9Rn7AtkInWqoY1HMc9DTIPyff0P6b32R8SZ1GiDyp?= =?Windows-1252?Q?08kSe/V0JVG9UC5aQmk+WkoIo0yVs6oEangdnGvGDShWZ3BgXNWXcrUr?= =?Windows-1252?Q?UwKE5muoxDBXYjRokppM43kvQEWbCNfHWpbraaayHJjBVE=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0706;5:zkUeh3tJbVX1PLVV6fN5C6R8wGYtV5osqSo/TGPIxKnL/d/bnnna2ru0PatnhyoDkXJIk9KJ0fQyBkiOV7VK1QSxlPb3vC5WyNMHX/NLJTCKDpOeUmINFZ0B3xVKoV9T42f0I0+GtC0kqLwADYvSwA==;24:0ME0Eq7Y1a+0etB3+48Udvm+nBzz0uy1wl77IFnbeQcM+PwEoKtlKoX6fXYt5jig4lxxuW/N4KzX+X1MSeNLfJWgm/Iy1FdISMfv/Szae+A=;20:xOBtUIDpuJ4ymYEQH7PRr4306AN5TBsl9Vy32wuzS+yr0JpEb45its17TEjOhwTYPRbaPV2fHYhNU/v7QiOH5jdNxGmWMzU8jszYU0qf5t0NPI6GEb5IlMimU6mpfWOvILE5KIMdw7CRmKd6vCqY1yS8aNjwI34m1NlJ0GOlWI5QitpJYoOtwkys7SmmIpL4LfZoA6yOA9U8VNhKFMGD11OsTAVLG+3ooy/t/LZKS17W0zOvXo8CyHIcoyQqBAmI SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2015 18:18:32.3157 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0706 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/20/2015 02:33 AM, LABBE Corentin wrote: > Precalculated hash for empty message are now present in hash headers. > This patch just use them. > > Signed-off-by: LABBE Corentin Tested-by: Tom Lendacky Acked-by: Tom Lendacky > --- > drivers/crypto/ccp/ccp-ops.c | 39 ++++++++------------------------------- > 1 file changed, 8 insertions(+), 31 deletions(-) > > diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c > index d09c6c4..64fac2b 100644 > --- a/drivers/crypto/ccp/ccp-ops.c > +++ b/drivers/crypto/ccp/ccp-ops.c > @@ -152,32 +152,6 @@ static const __be32 ccp_sha256_init[CCP_SHA_CTXSIZE / sizeof(__be32)] = { > cpu_to_be32(SHA256_H6), cpu_to_be32(SHA256_H7), > }; > > -/* The CCP cannot perform zero-length sha operations so the caller > - * is required to buffer data for the final operation. However, a > - * sha operation for a message with a total length of zero is valid > - * so known values are required to supply the result. > - */ > -static const u8 ccp_sha1_zero[CCP_SHA_CTXSIZE] = { > - 0xda, 0x39, 0xa3, 0xee, 0x5e, 0x6b, 0x4b, 0x0d, > - 0x32, 0x55, 0xbf, 0xef, 0x95, 0x60, 0x18, 0x90, > - 0xaf, 0xd8, 0x07, 0x09, 0x00, 0x00, 0x00, 0x00, > - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, > -}; > - > -static const u8 ccp_sha224_zero[CCP_SHA_CTXSIZE] = { > - 0xd1, 0x4a, 0x02, 0x8c, 0x2a, 0x3a, 0x2b, 0xc9, > - 0x47, 0x61, 0x02, 0xbb, 0x28, 0x82, 0x34, 0xc4, > - 0x15, 0xa2, 0xb0, 0x1f, 0x82, 0x8e, 0xa6, 0x2a, > - 0xc5, 0xb3, 0xe4, 0x2f, 0x00, 0x00, 0x00, 0x00, > -}; > - > -static const u8 ccp_sha256_zero[CCP_SHA_CTXSIZE] = { > - 0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, > - 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, > - 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, > - 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55, > -}; > - > static u32 ccp_addr_lo(struct ccp_dma_info *info) > { > return lower_32_bits(info->address + info->offset); > @@ -1388,18 +1362,21 @@ static int ccp_run_sha_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd) > if (sha->msg_bits) > return -EINVAL; > > - /* A sha operation for a message with a total length of zero, > - * return known result. > + /* The CCP cannot perform zero-length sha operations so the > + * caller is required to buffer data for the final operation. > + * However, a sha operation for a message with a total length > + * of zero is valid so known values are required to supply > + * the result. > */ > switch (sha->type) { > case CCP_SHA_TYPE_1: > - sha_zero = ccp_sha1_zero; > + sha_zero = sha1_zero_message_hash; > break; > case CCP_SHA_TYPE_224: > - sha_zero = ccp_sha224_zero; > + sha_zero = sha224_zero_message_hash; > break; > case CCP_SHA_TYPE_256: > - sha_zero = ccp_sha256_zero; > + sha_zero = sha256_zero_message_hash; > break; > default: > return -EINVAL; >