Message ID | 1470330167-31534-2-git-send-email-horia.geanta@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show
Return-Path: <linux-crypto-owner@kernel.org> 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 DE8CB6048F for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 4 Aug 2016 17:35:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C88D72841C for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 4 Aug 2016 17:35:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B712528424; Thu, 4 Aug 2016 17:35:22 +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 363A52841C for <patchwork-linux-crypto@patchwork.kernel.org>; Thu, 4 Aug 2016 17:35:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933948AbcHDRfV (ORCPT <rfc822;patchwork-linux-crypto@patchwork.kernel.org>); Thu, 4 Aug 2016 13:35:21 -0400 Received: from mail-by2nam01on0062.outbound.protection.outlook.com ([104.47.34.62]:17832 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933859AbcHDRfT (ORCPT <rfc822;linux-crypto@vger.kernel.org>); Thu, 4 Aug 2016 13:35:19 -0400 X-Greylist: delayed 995 seconds by postgrey-1.27 at vger.kernel.org; Thu, 04 Aug 2016 13:35:19 EDT Received: from BN3PR0301CA0004.namprd03.prod.outlook.com (10.160.180.142) by BY2PR0301MB2054.namprd03.prod.outlook.com (10.163.196.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Thu, 4 Aug 2016 17:03:17 +0000 Received: from BN1BFFO11FD004.protection.gbl (2a01:111:f400:7c10::1:180) by BN3PR0301CA0004.outlook.office365.com (2a01:111:e400:4000::14) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.549.15 via Frontend Transport; Thu, 4 Aug 2016 17:03:18 +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 BN1BFFO11FD004.mail.protection.outlook.com (10.58.144.67) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.557.8 via Frontend Transport; Thu, 4 Aug 2016 17:03:17 +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 u74H36gg003048; Thu, 4 Aug 2016 10:03:15 -0700 From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com> To: Herbert Xu <herbert@gondor.apana.org.au> CC: <linux-crypto@vger.kernel.org>, "David S. Miller" <davem@davemloft.net> Subject: [PATCH 1/2] crypto: caam - fix echainiv(authenc) encrypt shared descriptor Date: Thu, 4 Aug 2016 20:02:46 +0300 Message-ID: <1470330167-31534-2-git-send-email-horia.geanta@nxp.com> X-Mailer: git-send-email 2.4.4 In-Reply-To: <1470330167-31534-1-git-send-email-horia.geanta@nxp.com> References: <1470330167-31534-1-git-send-email-horia.geanta@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131148037974592378; (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)(8936002)(305945005)(68736007)(81166006)(356003)(104016004)(7846002)(2950100001)(5820100001)(81156014)(77096005)(2906002)(50466002)(2870700001)(87936001)(92566002)(586003)(50986999)(8676002)(105606002)(50226002)(76176999)(106466001)(86362001)(23676002)(110136002)(229853001)(85426001)(189998001)(97736004)(19580405001)(36756003)(33646002)(19580395003)(4326007)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB2054; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD004; 1:NM7jbL3G/qg5qianFf/CzaedCE/YSEROWvmh1fBOblVabXzoggb/F2S4UwIgGQgnbW8l57WCNQhX1eQEMY4Uh8nspBYRU1xufvbg2C0d52AlJeaPrN3cLxkefy9NUvMDPkvVQWbsX95VvbvddK352po5HaGT5i0PLsXlM/G9rQnV/rnSvxF13fTZpu2afxgKKgszMQQEUphiZSeeKqPjf71yrvfEd6wuvvL/6TB/iDCGo2nUP3lRPvuFSlMXmpHrODiOfYW1Q+Zt6Fezz5BiPAfvrQhLLhFUluHYgkaaNtZajEPhNaoopeeOvBdxSytuPbfJmf6/V3Fhy5rcEPU3g3un7R8md/DQKH2oFYovdLA3V9zHZgui0iNQF+7V6/HR/uSxATZBATldF3ax0Jk8feayvJ0t5arxTx1jCd/hjEpgnGFgvPPckre2MkHP5ziiTUiZTbf07/2fe4VB7eZdAp7mySQVmjGicw+nQ2pLjlRl4YHAcVaFuwcC+urvBZF0RGdt+iyLUPbdKOOEEDV+f/YzLmfWebAkC+qa4BXun4/J4/Jy5frrwVb9HQinniYUlbBuHMmHMZwA/ug88yuGFnNhWgHOIwBLwcXu+5S6xnkNR2siO0ipjU8cy1l/0076 X-MS-Office365-Filtering-Correlation-Id: e1d75b3b-8213-4a23-0b7a-08d3bc893aee X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2054; 2:Bl4+14K9yqkuB7GPQN595BOpAUx4TjZflJlimtc1f89Fn9f5RdlHPqQYmeknpOgj8nXOchNd/lqZ6ri2OGrd8wKBx6gVK0mXWtPTkStErcqLxereNLlRl3A0xbbsaht1PH4W9FEYJo/4kINy4tndQBoheEwdA0/YXAKvh8VyI0+HxHoVX+/ATZ3mcEMwFMBN; 3:92DpKEbVVJcZ/idZACzF1mLQmyq09+eFLCMQEepbQS1M4kac1DN00oDxkFY8h+cZmYJm9eKRn00l9cHsJs44B9clU+UxzcBaOkBbzA68E/J+5LcpcEqDquSW0DXHNYD1xX4M29l9MCLFicwBqJpD5ayM653XPGYrAGFTjhu39RT9OTh9TlyIlHI3mRHKtoXqatVBMXzEDpqIAXYUxohT8MUBse9i7cvpy+r8j4VcJ+8=; 25:9yeKzdklgPSaRrye/s69rira7puwWinnAKvuQgNZS6JrMk53spsb+Z1B/xTbaMRu7M2obM1Q3mVZbCIHk5ZEhjBzJBApM7vRIusZ8khb4DxwA9veHejobsp/JZ1peI2S1yYdW1/Na02nAkd/FTo3AFLVyadgVTOpb8onT+c4X4afHiZpY9IfJS5vnXNqByh3oBAh1KQ0YjyTw8rayeoFP/aVYMLu90zh1+nGGdcpimL9UeVunouzo+O30N89NobbTJ4QVolS6VUc9rfpSC62O7U/5Ve35Ydj+K/7owraYrPuZ6edm5n3csaavwNMTfNXjf9RF26nx3iTAWPGVEfyaLnPiIvvhcq9nwI/fTa7NHOuKGtg2E79/wcqg964xIwV4Nkl/ew0AY2O2gJUmcRPA2rxe/VsYSEZACFQGoIqwmM= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB2054; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2054; 31:hRDsjNpacraX3xDn9gknjD/ShLbS65GJn0vAFUUKmT4+BtANh34cueawV6wgstz+p/YzSl/RdBW0VO3Y/ZQRQxYe2YMrzUditqwcjVlIV9gDo2C070zT4iv+B+LnLm7QzwLM/Tn5GH/nK/TgQb7ruOhWY3I2LscSo8j5Sh/KtShpnYTt8e/3DjHOpVRCM/i83glAsX52W1Nz+njKgLPxvQIf0ZC3hxnbeTP85WIq7Hs=; 4:we9QEayqXCB6d1k5RZnGn1ZU9K/2iv/0MOy+g4Vpd4EzmUa1oKngMKE9tpQuHcjHFc5+316gJ8aIbPSbfBxLUDfNasCPP7c44R/QBkhNOqv4eT7YKI08+CQ2VfH9t/X1vEdPjQV0LUI/U1+GKsTB3dibT1pauPrqZq6WmOfGfu2xPhbqq1pZ9PSxS4UAyumnptJghZiIHhp8WZTz9JlCUfEkujeE/U0GUoNw6/Kb96ZJMDrlWO1BqAQy61kjKH3RBJoCXkXyG1L2PeOoRPE2HQ++LE9KVh7Xoqg7jTyOxE7szuU/S0HA3PPb23rmk8J3hZvAXw+Wk61EufAI4jjVX+iX2jMiDLEFehSTrCqQgCKPPAi6PHKL7UGXhMfogMPRI9bgztdKEcVl30k1Ay9+an5HiotdZKzI/P/2R7QFXiPv3Iq6FXHKHt/HjUrTIP1c9kRE7fyuP9ap9m/MfgujRSqiwUJB+kvlfBYsS6SAUf0i45UUaT6tP6aK6EAc1uDTT1Ob9e3keEbDz1kAv3qdMTzw3G4GnPSMW+Nv+UPVD2Q6T1g73i+WUDYZCeUKAJ3A X-Microsoft-Antispam-PRVS: <BY2PR0301MB2054CBBE806F1B1A1FB1768898070@BY2PR0301MB2054.namprd03.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13024025)(13023025)(13015025)(13017025)(5005006)(13018025)(8121501046)(3002001)(10201501046)(6055026); SRVR:BY2PR0301MB2054; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB2054; X-Forefront-PRVS: 00246AB517 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzMDFNQjIwNTQ7MjM6aHkwSVY4SXk5eU0xT1VxOG5TL2dpOWlk?= =?utf-8?B?ZUxrSzFGaUpoUFo3NGhvcEc1eERKdVBPUnNaNFYyNEJQR0NXYXd5TE42SDVi?= =?utf-8?B?NEFyYUhDTmthdUdZUmxONEtMcHJSby9uVzQ0Zmp4WFV4R09ON0FwM2paa2Zh?= =?utf-8?B?dFBjY2FydWtlZkRGSHlXMXBTNnNHQkZYK2o3eFRHbXB6aUVxemYxWTRGY2JK?= =?utf-8?B?ZlUxandqdEFNK095OHNhWTk4REk2WnNOYWgzTC9nZkd6SjFMTUV3T0J4dHRH?= =?utf-8?B?RGJsdDJva0ZGM05CRlpFNzRTdTkwRWZ6SjZ4TnhtMzBTZmtGYVNibTJJL0hP?= =?utf-8?B?SGJGdTEremkzTmhtTkp4SHlsTG03L0pVRXBaaWkzcisrSXJybUg1Rmxoc1RZ?= =?utf-8?B?cjJUWERNek9QMXhUZUkrdmJFOE5QN0J2YXE4cm9sRUVYKzgrOC9Edk5YbnQ2?= =?utf-8?B?ZHlQdEZhNkR5OGI4Vi96ZjlxcUlqTzRXRGVKbFZackxKMmppMUhEeU9mdUo2?= =?utf-8?B?MDk2ckozRHFzVHBBYjZTYnBzcGNkQTVsSTZ4RzZ6L0l3dFZ5MEZnNk5SMzhK?= =?utf-8?B?TkhEdTJJWUJJNWwrajhVT2tIVnZtL1FqeFdtSnRpK2V3NGlXVUVaZXh3dU8x?= =?utf-8?B?OUgyWTFMSmJUeklLa0ZEQUM5dm5xK3lXWWFqOXMrS2hCSmtFcTZrMzYrZk1w?= =?utf-8?B?NVZxTDhrMUgyaHVqcFdGSElSVzg5QS9kaWwxenZMOHpxUnF2QlE0c1RtYmND?= =?utf-8?B?SjlMTUFmYmdvSm5pYWt1SkZRQXc4OGl2eUdDcXd3bC93U1lKRHZZUHJXMHJh?= =?utf-8?B?VHI0MFFXT1h3R3IzVmEweno0bFhqZ25LVXhFYnZIMWl0ZllKbVE2K2FBMlRj?= =?utf-8?B?OHJtTWpsT1ZvQ3dIbjBmeDA2Y3JnTEV6M3VlY1A5TEJDOFFzaEdibUJXZ290?= =?utf-8?B?Uk82bVE5OW9JZlJyajNzN3JXVzJRalhvT1Y2d1p5bTZEem5XNC9kaUtkSTAr?= =?utf-8?B?QUJVTDN5U0NrTlg1MXU3dDVpSUtaeitTVFV4dzFZZ2h5YlNHV3RQNkdHSWtK?= =?utf-8?B?RUd0MGd6SkRkM2swUlBGbWlGbzJValh1YTlNL1hTSjRacCswcU5GcWlTZmFj?= =?utf-8?B?MkVXUVlBVGEwM0FvSGJFVTkvaTRrSEVIMElDQ1ZIcVU5MjVYRHIxK3Fwci9V?= =?utf-8?B?bXQ3dFptVDdXcEZCMnFIYUtEUnIvMCtoTjVtMmtTUVVKL01WbHlEdmgxbXFH?= =?utf-8?B?K3pvRmNHWFF3cHJVYXk5SjZLTVNPa3ZYdjRiTCtiQks4eXc4QmZ0VHp3bUVG?= =?utf-8?B?OTBaU2t5YTBvdlV6N2EwNjBSVHF4Y01CVU5zNlJkbzFTc1dDUlBac2ZsQTQv?= =?utf-8?B?anFLZXVwL2FDQXFya2xSU2JZRHJ1NFlPMDV6MVl5RDFvdWM4Q2pCcFY4R1Vl?= =?utf-8?Q?MNkcFRqnWkC5h24VL9yhWPx9AOLv2?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2054; 6:ZLpkUnAnk6LvZcy89Q73c7XU/q2WhLWfLRYCqUYBW+oplT55ohQP9HOLD8vMFSk8u+sx5EJe1kLDYudHh93HXg8/rBKlOOG4s803oFMAU3qXrD4OQ8DTlzzpFKthQ8Yv76SfeWmS5R6q8mLIjPtUSdWoFnM3uuGF1/+0MKSxso3qQitnBNV1ASCvkE7LXtPl45midvuuLcjp+hWNZbOCp7VeIzn59na1k8nY3Zoz/K/XICw37Ier+xBm+YoRSPmtL/hHYYflSvGmWGVecwdL8CbRphTf5jVp5my6UTHwCjo=; 5:GrCsOEV28W6Phdt6DBjL1UrnimPRhY+pJK9ESxShWiRKUobYv8lnB1jwsdxD65pY4zUUCHF+4TwZV5PW6J/mMbyD3YBm0rQXrkI4bj+5GZjVQ+wZzDz3TfltRgUNvu2znROuCBXhj9bBL930qCNE8fzIZf4qae5SmqU1CP/N1os=; 24:9eVSbGWqiqAiM3lcv7y8oqFo0nJj70Co+JBeFVxUfqY+IOf6Zdyv/RjM5HVH0JqOzEWNr9TYQYbOQOMS6V5GOP3vdGVjvYXPJiSs7qc4MsY=; 7:QI7N1Uw2/dUL8lpSBKSbDL+MpMCCeJFQHkl8blblD7lMpCTKedTynKWff1+5Vh0YfJXdvdPV6C13IFDvTOcZdv92nKTJnzw3suz1i3C64lEqA9XdJpjAjqhtkpArGoNQyUA17EkDLHf8Umfc1a75RppN01Wdbt7Z3ZI48IA3LqN9M8GDPaMU2CguOAT/tKHkjTkqjiLtRgOadeukpLAIRs9o7z7aXIZElYfIlsOUUOWN2M7R9U6rNglH+Jpvnk35 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2016 17:03:17.2720 (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: BY2PR0301MB2054 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: <linux-crypto.vger.kernel.org> X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP |
diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c index ea8189f4b021..e356005a7212 100644 --- a/drivers/crypto/caam/caamalg.c +++ b/drivers/crypto/caam/caamalg.c @@ -614,7 +614,7 @@ skip_enc: keys_fit_inline = true; /* aead_givencrypt shared descriptor */ - desc = ctx->sh_desc_givenc; + desc = ctx->sh_desc_enc; /* Note: Context registers are saved. */ init_sh_desc_key_aead(desc, ctx, keys_fit_inline, is_rfc3686); @@ -645,13 +645,13 @@ copy_iv: append_operation(desc, ctx->class2_alg_type | OP_ALG_AS_INITFINAL | OP_ALG_ENCRYPT); - /* ivsize + cryptlen = seqoutlen - authsize */ - append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); - /* Read and write assoclen bytes */ append_math_add(desc, VARSEQINLEN, ZERO, REG3, CAAM_CMD_SZ); append_math_add(desc, VARSEQOUTLEN, ZERO, REG3, CAAM_CMD_SZ); + /* ivsize + cryptlen = seqoutlen - authsize */ + append_math_sub_imm_u32(desc, REG3, SEQOUTLEN, IMM, ctx->authsize); + /* Skip assoc data */ append_seq_fifo_store(desc, 0, FIFOST_TYPE_SKIP | FIFOLDST_VLF); @@ -697,7 +697,7 @@ copy_iv: ctx->sh_desc_enc_dma = dma_map_single(jrdev, desc, desc_bytes(desc), DMA_TO_DEVICE); - if (dma_mapping_error(jrdev, ctx->sh_desc_givenc_dma)) { + if (dma_mapping_error(jrdev, ctx->sh_desc_enc_dma)) { dev_err(jrdev, "unable to map shared descriptor\n"); return -ENOMEM; }
There are a few things missed by the conversion to the new AEAD interface: 1 - echainiv(authenc) encrypt shared descriptor The shared descriptor is incorrect: due to the order of operations, at some point in time MATH3 register is being overwritten. 2 - buffer used for echainiv(authenc) encrypt shared descriptor Encrypt and givencrypt shared descriptors (for AEAD ops) are mutually exclusive and thus use the same buffer in context state: sh_desc_enc. However, there's one place missed by s/sh_desc_givenc/sh_desc_enc, leading to errors when echainiv(authenc(...)) algorithms are used: DECO: desc idx 14: Header Error. Invalid length or parity, or certain other problems. While here, also fix a typo: dma_mapping_error() is checking for validity of sh_desc_givenc_dma instead of sh_desc_enc_dma. Cc: <stable@vger.kernel.org> # 4.3+ Fixes: 479bcc7c5b9e ("crypto: caam - Convert authenc to new AEAD interface") Signed-off-by: Horia Geantă <horia.geanta@nxp.com> --- drivers/crypto/caam/caamalg.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)