From patchwork Fri Aug 26 14:13:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Horia Geanta X-Patchwork-Id: 9301321 X-Patchwork-Delegate: herbert@gondor.apana.org.au Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id EE18B60757 for ; Fri, 26 Aug 2016 14:14:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E00DA2952C for ; Fri, 26 Aug 2016 14:14:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D4A312955B; Fri, 26 Aug 2016 14:14:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 34E022952C for ; Fri, 26 Aug 2016 14:14:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752829AbcHZOOb (ORCPT ); Fri, 26 Aug 2016 10:14:31 -0400 Received: from mail-bn3nam01on0080.outbound.protection.outlook.com ([104.47.33.80]:19872 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751884AbcHZOOM (ORCPT ); Fri, 26 Aug 2016 10:14:12 -0400 Received: from BN3PR0301CA0084.namprd03.prod.outlook.com (10.160.152.180) by BY2PR03MB1880.namprd03.prod.outlook.com (10.164.114.20) with Microsoft SMTP Server (TLS) id 15.1.497.12; Fri, 26 Aug 2016 14:14:04 +0000 Received: from BL2FFO11OLC015.protection.gbl (2a01:111:f400:7c09::150) by BN3PR0301CA0084.outlook.office365.com (2a01:111:e400:401e::52) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.599.9 via Frontend Transport; Fri, 26 Aug 2016 14:14:00 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11OLC015.mail.protection.outlook.com (10.173.160.81) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.587.6 via Frontend Transport; Fri, 26 Aug 2016 14:14:00 +0000 Received: from enigma.ea.freescale.net (enigma.ea.freescale.net [10.171.77.120]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u7QEDwq5009952; Fri, 26 Aug 2016 07:13:59 -0700 From: =?UTF-8?q?Horia=20Geant=C4=83?= To: Herbert Xu CC: , "David S. Miller" Subject: [PATCH] crypto: caam - fix IV loading for authenc (giv)decryption Date: Fri, 26 Aug 2016 17:13:42 +0300 Message-ID: <1472220822-18888-1-git-send-email-horia.geanta@nxp.com> X-Mailer: git-send-email 2.4.4 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131166944411042690; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(305945005)(106466001)(81156014)(19580395003)(2870700001)(356003)(85426001)(189998001)(36756003)(86362001)(7846002)(50466002)(87936001)(19580405001)(626004)(110136002)(81166006)(229853001)(105606002)(4326007)(11100500001)(33646002)(92566002)(2906002)(23676002)(104016004)(8936002)(77096005)(5820100001)(8676002)(50986999)(97736004)(47776003)(586003)(50226002)(68736007)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR03MB1880; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC015; 1:gJUTHUaY63kkcB1Yst3BsetlKXj/TGXEgtSHggei1guMaGX44YBFS4Q1sbJ4Mwj+Jw/MpLnXVnqSnhqZKlUMqAG1wL4EbAYCIpaQwQWC7AJt3ISJwtyVDKQ04Lpapb2+MzUTbvwIsBPzSurPElrQlbyj3skSWRw1njgRf9JjpbFutZwg4VcfFyZqhwuFvXY6NAZHM8d7yZG2lJqXTIB5huIVF1uu6ijxYX3yrA6pU+UA5a9WrFjL1z+hqcrxL/EpeFCpKIuf502TDoUPyfkrPlfBpfH7nM3YflIZa+2SRXiYTNX4RhvzR7sVXjAVhwB3X5fubnDYlwmMj1UjlGd4FbV2cGVnBa0TH2c4HFvBQWqz8clFDjd7hMgWG3G3HAu+CdmJ+87+3xG75yqOmSVaEz6r0airc+6EZaYBmqsa/P1Y1r1mp7RbVnXmuvcok/2tiVaqTltiUyitCaFCLouEO1M6cXgTKVBFy+zAorczA/CZBXMiBRYNVogmMzg9BxIiX9mUDqVmMbML5n0OM5IUXWnQX8r31fzuNAVFjZekNzeFdbxSCN4xCXO+hiA+FSbw3hyAEYWUguI4NDbNZT8hqPKQK+mJokxJ7Pgy8OJex6mIjMRJCfDQLZhpvsKPrm82 X-MS-Office365-Filtering-Correlation-Id: cef221d9-0ab0-4912-00c8-08d3cdbb3a57 X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB1880; 2:/Ia6NLVvJ8K8AjXdPPj420FH3L16AdoDkmRKT9a/lI8vUpj2ngZXNdfultCKBRQeSzHmIYd2803qAyRt/9WL1oAMxF5L5T5zTLlX8LOJPv6PTXGGv+GKDU5utgaDigiyvl0rwR0WgpGa9XydirNnmWUrpU2rn5ZWvSy5b25L6cDHrvzGaA9eDMdjq+iYQ8wh; 3:IOvr5C68uZEbk3rUH8pvg7BytAJW+Iz+85PQq63xvdIBqCyTM4VMrw/5eQscObvyh9ToMRSaWQBRMdnJWo9OsRJEsmWBwREWCHzMZ+ui0qv04MkeT7Am7kc/HC4Urx4jM/0TZ8TtqbLFCE67oIQ9dhSInlgUSsrXbk3nPCsTSVnnWrgl+KS0xEjFv11y44ndctfxgdn9q7KfmAsyk5OUpwLIKLGvxynk/WiKPSv9zF8=; 25:l+UkmZLkP90aoqiqshaBf78v61bSHB/TObdp5gvYoiZQ71IHICvt8Zk9XIyqyWCFZm9Swwj26jKCp7us+mZ3nUTPfUAEFRcVcbyG6NLOGOqAudbRU93vRqTXNhGlNRlt/B+YgEF+4TN21uWVVCM+Uk3u4GxHoYDF93kpi+Vzj+lcm2ZebT90p98Nk5wpTpr0BUeEkRuU+x74Cx8qod2ShhYkxPepGdItmSSey8qK8omSsgd4RlSCbeD/0qS7uF2axVz2VtNkZc2dWtJJMqm0MUx6SPu4oVl39xXfobehKcKgovUx7ptUhCBsjIeItR84ZJc9ttxr9vaw0vWyJn/5mxkveEP+felzxN0vQVvSg/uzeUObT58Z+zFabTwA0eSTAri6pdADQRmSJNm3TpFLgxs8Ae67PB6JotgaU0ADdB4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR03MB1880; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13015025)(13023025)(13024025)(13018025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:BY2PR03MB1880; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR03MB1880; X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB1880; 4:RHTH9MuX9Ic7oZghCnqvCvDfj+VJKKmC7NnjM/qIDh2mm02gIjRqWAGlCuii20l8yDOp849KA03hPnmPBxNvBwbKKHUB6isIvSfKmRziVXRgjnpeyBaGiYGcrLPS8V81Xc6kf2j5ty9ENn1twVK5doCDMbnqc8TZ6DtFbPA4Feo8SJoSPkcu/OAn+lnvLuSQFeZbCxLRgd47lqcrG0Bk8P4IWIle8YlgdIr6RYNEozGNfbZR/wVIucuaBcjGPBdNTo3oIPGeSybVkxeEhyXpUlTxG07m10PPAdDQ4agX61XByH0gxBZUdH08esa/tW6PWfMHfDvkImZ6uCFoQ+jHEt5cTy6GSaule3sPfHrglNNBOH8aZ8FbSVzNGs0TSlh+yxUzucfg5gQqPduM6gW+KmMCsiWgC4kjVRkbR3IPp/3H23OjlgwggQSWqfyJdBdwjcJUT7NQIL/YWncIMBEo5f0JoZ1Ya46ujvl657F5G5aOh+sPeKmkKqdvqe7z91REmEaMFMBkfgFim4f9fx6ao1ViJ3f8YLEEEujVNvbjGzBW0SQBVRn90YaBZE74yoGL X-Forefront-PRVS: 00462943DE X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzTUIxODgwOzIzOm1qNjJYVWZ5c3BZMElGeEdjQXV3ZXAzbmdN?= =?utf-8?B?VkFYRHY4bHFZYmJWY2dvbHI2Smg4SDh2b2FFRVo2QlVnRmQ1T2R0THdYakJZ?= =?utf-8?B?ZmxiRVpTc1pPK3VuR3N6c2JUdG9NMTNiSUp0d3ZFVllUK2JjOWNpY0pGRTNS?= =?utf-8?B?OWROSDBtVmpHaEZjUkc3S2pJaDFCS2lDUDFTaTNsampHZkUwYlo3RU9QNkRR?= =?utf-8?B?a29rUlc2TGhhTnJnRlBRSEtUOGFvOFJEWmRJRVpNVWVMbXRiU2IvSWFxRlho?= =?utf-8?B?NTYzanQ3bDMwaW82ZFFZVERYQUZ3dzJCNnprQUhHZzhjVDV6MzV4bEpiS1Vr?= =?utf-8?B?SGFkWWlLTmhrcWVNcDZyVVNBTDBKdWwwakNzSmhzUmhQV2lSVFJpR0V3bXUr?= =?utf-8?B?S3JPNWhwazdRZnhoSE9HTitQdG1nYjZxTjRNMzBqR0pYS0lHK1hnOHRNSGNN?= =?utf-8?B?M2d6OW1vNmlzM3FzZnhneFNtSEZxMmM1d01jd1lLK3RKZmRCWFhVRkJaM21q?= =?utf-8?B?SXBqalJsYVNMMVBUQ05ScUhRdW8vVnhKN0t1RnY2L2JDbFFNdWtpdEJWRG1K?= =?utf-8?B?bjNYZzJTN0dRdXJyRVhIdmZjSVNXaFZZWHZRUVhWSkdORkFxcVM5OGRIdjY2?= =?utf-8?B?TENHL05wVjlZUU9yM0NTZUFmOXNsMFZRaUlGZDBLSTE0V014ajV0NVBEMkxs?= =?utf-8?B?UHpzaUxrSnR4Q3NBV0Z0SFI1REI0ZUNUUE1BM2VkbC9FZHNUbVZSZGN2ZVJH?= =?utf-8?B?QjgxcldJZTlNTURtTWhOYm9oay9EL2JVbnZzZ1FnWVRoOXN3Nmw2anIwNTNt?= =?utf-8?B?K1ZMUmc4UkJvVUE4YmxITEZPWmRSTHdnWE5yeE9FRGpJMUJTNm9CdGJtN3E3?= =?utf-8?B?dWZMK2F6bkpxZkt5S0s0VnAyVUZOTmxMRVFPZnd4T1kvOEZEM3g0ZDU0dHJD?= =?utf-8?B?V0dFWVAxdHNsVk41Z2o4MzdsZDN1VXRLd1hhU1RteGJvZzNvcWZidnZ1N0dz?= =?utf-8?B?VFFRNXFpb01GcmlYSm9kMDdSSEFzNUVaeDBLcTdwbnZDZ3RwT3pOQ1dKMTFU?= =?utf-8?B?VXR4NFZ2MVNlNUl5UTVteHk1MEFrQkJVUzFhQW51NFFHK2Exbks1ejZTVW9R?= =?utf-8?B?d1V1NE5zVVhuNnRlcUNWbTlrMlZmSkx4TFF5WDZ6M0pLN2VJbGsxOFZPQ0c0?= =?utf-8?B?bncwaEV2QS9vMmNDUG1FMFc5SkU2M0YwK3E2S012cGtGYjIwRVpiR21jT2xG?= =?utf-8?B?SVZjNVNqMWhzV1lhZnVxNDE3bmM5QVIyWnllWVNHR2RnRytkcHRHNXNmQ0Zm?= =?utf-8?B?K1VhUGNwYVZIeHY1SStiNkpKU0cxS3gzK0VyS0liVkFMOTk2YVkwcG5qZ0Mz?= =?utf-8?B?VndqU0ZJZGJydk9NbFU0VEJrVFRIRkJTMllUOFNVZkxUSWRvZmRJK204T1hu?= =?utf-8?B?OG9HM3pDNkpzSm1zOU5QdjVvMEs3aEVvK1dpZS9WMkl6bGxaaVM2dHdsdWtR?= =?utf-8?Q?LsDVfRvn4canQ3Ub+COj3AhAw=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB1880; 5:DvcvQZw7UVU2sHzWC4RkZasqvfUPBwBrXCCV1j8/a23togwhAr4cJxSKAoChPOoFcn+sbD5bAmRojYDyuSfIJESCU2ohSH8A9ngjHXcw3XhuniU0+/yOgD3mFrn8u06yDUPzmRyXXJPfZTG0ZZlOLeNFIOU/pfcP5k51rfiiBbw=; 24:G5FTmbTVU6dWkwOzYCViJl+iM+Gf7A7rLKH4eDEC79GremSdMKYn00Y8w8UeQ2Jozb6paq8ZCI3oZnuRNb3Nr7iK0qm1+s6IsIC4zdgyLfA=; 7:+w2m08n2nAXnDy8HGDHlHTa5WEBAzkbfY3ml1oMa3Qk4rPNvHaRGfBcebfWnU9P+q4D/HucdAvYJKbC07OTybA8oJS/kN/td8YDlJI1/v7l3I94rSYBX00forJvD+lkEZDqYSB3h3ZYqK/rqbh0F97sUxQexY9YvOJHHY1k5rN4cSo9b2HRRdfAIAsA/TDmF SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2016 14:14:00.9014 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR03MB1880 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP For algorithms that implement IV generators before the crypto ops, the IV needed for decryption is initially located in req->src scatterlist, not in req->iv. aead_givdecrypt() is updated to put the IV in place. Cc: # 4.3+ Fixes: 479bcc7c5b9e ("crypto: caam - Convert authenc to new AEAD interface") Suggested-by: Herbert Xu Signed-off-by: Horia Geantă --- Herbert, as you suggested, aead_givdecrypt() is now setting the IV. In terms of optimizations, would it be safe to assume all "geniv" authenc algorithms - {echainiv, seqiv}(authenc) - get assoc,iv,ciphertext in req->src for decryption? The idea would be to avoid copying IV into req->iv and instruct the crypto engine to access it directly from req->src scatterlist. drivers/crypto/caam/caamalg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c index 6dc597126b79..78be2bea1273 100644 --- a/drivers/crypto/caam/caamalg.c +++ b/drivers/crypto/caam/caamalg.c @@ -2545,6 +2545,7 @@ static int aead_givdecrypt(struct aead_request *req) if (req->cryptlen < ivsize) return -EINVAL; + scatterwalk_map_and_copy(req->iv, req->src, req->assoclen, ivsize, 0); req->cryptlen -= ivsize; req->assoclen += ivsize;