From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752028AbbJLVRD (ORCPT ); Mon, 12 Oct 2015 17:17:03 -0400 Received: from mail-by2on0077.outbound.protection.outlook.com ([207.46.100.77]:51712 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751284AbbJLVRA (ORCPT ); Mon, 12 Oct 2015 17:17:00 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; chromium.org; dkim=none (message not signed) header.d=none;chromium.org; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NW4LS6-07-3YQ-02 X-M-MSG: Subject: Re: [PATCH 3/8] crypto: ccp: Use precalculated hash from headers To: LABBE Corentin , , , , , , , References: <1444668826-6531-1-git-send-email-clabbe.montjoie@gmail.com> <1444668826-6531-4-git-send-email-clabbe.montjoie@gmail.com> CC: , From: Tom Lendacky Message-ID: <561C2340.9080909@amd.com> Date: Mon, 12 Oct 2015 16:16:48 -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: <1444668826-6531-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.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(377454003)(164054003)(479174004)(199003)(24454002)(189002)(83506001)(97736004)(19580405001)(5007970100001)(105586002)(47776003)(77096005)(87936001)(64706001)(65956001)(33656002)(65806001)(5001770100001)(5004730100002)(64126003)(54356999)(92566002)(4001350100001)(23746002)(106466001)(5008740100001)(65816999)(189998001)(36756003)(50986999)(2950100001)(575784001)(46102003)(80316001)(76176999)(19580395003)(86362001)(50466002)(59896002)(101416001)(87266999)(2201001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0714;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;2:KUlv0ojQx7/dsIRKUI2aADq5vKhoYbJ0uPso7oJndMhzkJxQbIOHKwjSkM2+6lUKfE18ds8Q7XCw5Et/2UXE1H98O/t97e94wIZe9WwW8wM5p93CWyT2H8vT5EBQBMJAxdXwZkT4MuQss9jAC6fE1cuCiRZbZJWhYyZnK6UzsLM=;3:Hsv6BAE9Ds4E+wtcXF6cTuzSMvgLjDGt93nk1q2ort3WAguO8w6XPcEpcUc1WfCzjZ4ZRoNrzLS/S4I/zWRh0Gn89zbQCkqTOdzKPyLg+8Y8JE+sh1LxDMWSUczxqzP3h7I+XaUd2nIDTImFyncUKaJg9XZLxJGAY7FJhQb4rffzz36syEdp0hVeGQVxIzMEUuo5FpoNoAj4/PWiO2wBuw1GYwhTK13A8getRbF8cd6btWr8bJKYd2710GY02FX/;25:3HXyPw4GHHHcjYtfbdlX4SxofOkSqeXufSxjxXJVi7L0qjrloSm6aF7YjcxJb5TdyxJOe2rjD8tQoJGaNAJNMl5wXqD7HX40qDm5AUtZ8HrNvv9e/HWcQYRyWso2Lb3Xnl+blAkotWvr107HFgb7tOfW2L/ZlmPXQJqJ35UpJwhJS8eb62+1Hn0TLZCwVMlNUKRRaGxalICVw7dOS9418UXIQrNrYnHH+6X3H9WaWu8M+YfW+ke3Vnury2icEOzPC8liiQ6PV8lCGiQCvXFgLw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0714; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;20:LdmkW6JZq+kx4JGzdU7u8UU8gzupvDEtI7A4emSZqz+L9SxiW1PlbV/yt3BhVULw0/OeahhoRU2bkEeTcGSE1K4C9JHi8CJox1ApzdW8kCnNwGNI7LhRGR7FXpUm1NLb1+KXs9pT6hDRPidaJYlI+wpks7WpJJixo+tCiS0YqSnCW1sWlOWidiIe7O0e03Xvp1+6QR+pLSgXb2usQnwgYgm29cRVim4pkOxEv/POQnAzafGujtwLHaaD/cZTHqLkebofTt14J3xMW5F/KbhGj/qcmAb1gs75INSRl8xBuQ4mvlJv9DZigOyzmg6AUsAhsJi4COlacPDtJ86gH2ZKK/SFJOULxi1ApIOLFyxpKRS7tAqAnQ6K8VYe+DdLhFASpafKKKVnxE5qhANrW/7ieL8Kinh1yIaiPenmUb1LpSPvG+nvoYQx6smThWm4E0zZ/MisKnMj0iRoSlbeZaj6GEQ4EIy5CynrOYoR50rtA6Ft/5S/YvfnwEGCEFhXIYdI;4:oB3GcrMfY8JwOkBO2zSoHHVt2RxFGLuFy9cVhnw4rbYAFwVULulOZkc+Mpdp1UDZkgmNcD/ZwJZfGe3RhLOUziWrj7yz60USlQ4x2cyaz5PVwe4kGsurT8+S3HJksqfPKtxLzjTX1NnIz11njPXRJ/BYPIqfs4UfOd6HkPyLlSdTK2/9jfRI/OEq/t0vI4nyx992SzgzqqfoW1/l4HpYnPXTR/BqPOGtwqpVBMvOhwR5UY75t7OCyLg2FCEzb2CuuoEBaO8alwcc2Uvl+x8XhfgZa04ej1OnBDNAGpJ3BtMs6WdGr9Rpr+Wjvmpco/wp4+AEvJOBHBCxTlGW3CJRmbtzkvmHC4B9uDjR9Rc/vi4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001);SRVR:CY1PR12MB0714;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0714; X-Forefront-PRVS: 0727122FC6 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR12MB0714;23:MK4xnQy0jT5POW8My3s52vuCpPB8GLF9ejoxC?= =?Windows-1252?Q?Hhw5gBe2ok61r7ksOjTLaiD5hN50Y2pOA11ugzFGYkYSxtYQmMDhJbg8?= =?Windows-1252?Q?7GTc8apPITCU670bcpKKykmL3owzTbe+5IKGMoWm/yaY1/d4eInrOWIY?= =?Windows-1252?Q?4o1/YJc2A6u4fuo+tABCZC+2oi5tkCeW/GJWHANaCDv2CRB6LahMG9Bo?= =?Windows-1252?Q?p4n708925i+rQefcY5n5EVzJUGRb1Qp7NcGrUW6kwIqBwF2KeUtOLHOz?= =?Windows-1252?Q?By60P59ieCChbckdEvdsIMtQinrH4lLiwmroOu8teYjPSeJhDhppLv8D?= =?Windows-1252?Q?5SLpxd18PeiTU8PCf8RX8sn4fHbMQhWp6Z952IYTUOf0LMxe/m/DprPd?= =?Windows-1252?Q?oW5MvPZhCNz0U9+iY7jc//xXHbO1G4OmUGXny+qSZwtoq59dwAJtJ+D8?= =?Windows-1252?Q?VNX1SGzw6Gb7uOe+4wiGPaRNi2HL1xAgkLOfabsjynP82WPNoe8Uk8vm?= =?Windows-1252?Q?KbXuhUG7zSz4bKk1z05f7qXjl8hYhPgho+1rmrtSuiGwIHBVmleKwfK/?= =?Windows-1252?Q?xGsN1866fX22azc3RAJtNYavYSmkXLHcpxG8DVCk5N8+oUShnlNOFvak?= =?Windows-1252?Q?sbmpbFw3D1ZKCsBKmbQ3seaXMkyhFgN6qZhgqjM7fYybl07HLGhtq0lt?= =?Windows-1252?Q?SslANUnZAwIvuWKk2PDujlpWCNA7axRDbCvcUm+SVqX/HcXNYOobmch6?= =?Windows-1252?Q?sqDZvR7zu9ncaVzE5jPq0vfymHguFQm9uJMlj4/HGSMnoOcmGPGJL88T?= =?Windows-1252?Q?jIO55iAl+wDHByBlJzRpZXb2Pn9YKynZSdfK5AJza4D7ynGAO294pBrq?= =?Windows-1252?Q?H9rcL1pA/fDgONKIditWMVcaiuuG5OCMzYA9SHtnKTp6wQjMRA/9oh4Q?= =?Windows-1252?Q?J5a5gPboM0Ti/qi0yLmAihcWZv/0mFOlYEthqaHRveU6jH0PX2NckBML?= =?Windows-1252?Q?OlL754u7Q5wnLJoT3aIkZtS2WUHzyt6yN4b53fwc2cno/OFFLTeJBSsC?= =?Windows-1252?Q?MZrO/mn5L961qsUYM4pSQmxAl0DRO32C7ka79OepRmu2JP5/Lr+AEOPU?= =?Windows-1252?Q?37d0namm3ihSgaBcBSHSt0FKHFw47nJkOaGY530sjltdbLLCcKT2lIhe?= =?Windows-1252?Q?M2E9iJp9rn+sQpXUtATBplDTAtukOB8727VIG7NmP2YrrYy9UlngMrHA?= =?Windows-1252?Q?VDwkT6nymDOtoyaAMARmVqNA+iRfJ3P9Cd25xb15mXOzhvQjH525mG0h?= =?Windows-1252?Q?HRmsa0M1VDI/p191x4Pw5vYgw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;5:fhw6NMVWJHf9oYeYbkFPuu5v+oatKpzJ7sPveCqIdhwbKVRGPZ4FUQXmpmI/IFOAnB20d47Zw4A3au7hBC+GBIWh3btsK2liJKwvSndFs2AFkYDS6xyCdLRToFHObYU/yQGkDFsT/SZ0GCYvFPD6fg==;24:Ai7Kqyq/HagdVb4FyGJ7zvRf8J4mbb4/LwfAE0C2srNgAKdUWmu2mlPMk5UhC8MVs4Dq2QFmlmZA9fvfLTvqBuzhgqRr6YNsyQV9ru84M8s=;20:NNvFT1M7t3uowRM5P5taGz9sEzpsgyxYFNm5mNq3rZBLlK98mxFReWZ1Czw6i4f6grE6scz51K+VrFhAzP8Zof6ZxN6cA4DKRlXtHiBkxEUtmtwn7+7nhFNvPajtuzr2Ahub8Y1E1oLmqFEausMt4hwGoe5MNPA7t+i5h14YdVgPC9l64f2mseJWJ6DYY6C7SEp/CiunI6gp+HIyCE3schHfustSIOvMoljqm2+WxzCdt7EHRze+KDNSgoNZiQ7g SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2015 21:16:55.6871 (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.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0714 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/12/2015 11:53 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 Just a minor comment below. Tested-by: Tom Lendacky Acked-by: Tom Lendacky > --- > drivers/crypto/ccp/ccp-ops.c | 40 ++++++++-------------------------------- > 1 file changed, 8 insertions(+), 32 deletions(-) > > diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c > index d09c6c4..3002b418 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,20 @@ 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. > + */ This comment should be indented and re-flowed to be consistent with previous comments in this same section. Thanks, Tom > 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; >