From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C274FC11F66 for ; Wed, 14 Jul 2021 10:39:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9F5D861362 for ; Wed, 14 Jul 2021 10:39:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232185AbhGNKmi convert rfc822-to-8bit (ORCPT ); Wed, 14 Jul 2021 06:42:38 -0400 Received: from lithops.sigma-star.at ([195.201.40.130]:38512 "EHLO lithops.sigma-star.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229518AbhGNKmi (ORCPT ); Wed, 14 Jul 2021 06:42:38 -0400 Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id 3D1A9606BA4F; Wed, 14 Jul 2021 12:39:44 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id rV1lZ2SKB4Ku; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id A9DA86169BC8; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id AP29PNq9W7qd; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Received: from lithops.sigma-star.at (lithops.sigma-star.at [195.201.40.130]) by lithops.sigma-star.at (Postfix) with ESMTP id 6D52F6169BC1; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Date: Wed, 14 Jul 2021 12:39:43 +0200 (CEST) From: Richard Weinberger To: Ahmad Fatoum Cc: "open list, ASYMMETRIC KEYS" , david , David Howells , davem , festevam , Herbert Xu , James Bottomley , James Morris , Jarkko Sakkinen , Jonathan Corbet , linux-arm-kernel , Linux Crypto Mailing List , Linux Doc Mailing List , linux-integrity , linux-kernel , LSM , Mimi Zohar , linux-imx , kernel , Sascha Hauer , "Serge E. Hallyn" , shawnguo Message-ID: <1409091619.25467.1626259183269.JavaMail.zimbra@nod.at> In-Reply-To: <76db3736-5a5f-bf7b-3b52-62d01a84ee2d@pengutronix.de> References: <20210614201620.30451-1-richard@nod.at> <20210614201620.30451-2-richard@nod.at> <76db3736-5a5f-bf7b-3b52-62d01a84ee2d@pengutronix.de> Subject: Re: [PATCH 1/3] crypto: mxs-dcp: Add support for hardware provided keys MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-Originating-IP: [195.201.40.130] X-Mailer: Zimbra 8.8.12_GA_3807 (ZimbraWebClient - FF78 (Linux)/8.8.12_GA_3809) Thread-Topic: crypto: mxs-dcp: Add support for hardware provided keys Thread-Index: NDot3bI3Q+rKmPD/+NEwkrQ8VTnhRw== Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Ahmad, ----- Ursprüngliche Mail ----- > Von: "Ahmad Fatoum" > Let's trade reviews to get the ball rolling? Sounds like a fair deal. :-) [...] >> --- a/drivers/crypto/mxs-dcp.c >> +++ b/drivers/crypto/mxs-dcp.c >> @@ -15,6 +15,7 @@ >> #include >> #include >> #include >> +#include > > The CAAM specific headers are in . > Should this be done likewise here as well? I have no preferences. If soc/fsl/ is the way to go, fine by me. [...] >> @@ -219,15 +224,18 @@ static int mxs_dcp_run_aes(struct dcp_async_ctx *actx, >> struct dcp *sdcp = global_sdcp; >> struct dcp_dma_desc *desc = &sdcp->coh->desc[actx->chan]; >> struct dcp_aes_req_ctx *rctx = skcipher_request_ctx(req); >> + dma_addr_t src_phys, dst_phys, key_phys = {0}; > > Why = {0}; ? dma_addr_t is a scalar type and the value is always > written here before access. Initializing a scalar with {} is allowed in C, the braces are optional. I like the braces because it works even when the underlaying type changes. But that's just a matter of taste. key_phys is initialized because it triggered a false positive gcc warning on one of my targets. Let me re-run again to be sure, the code saw a lot of refactoring since that. [...] >> +static int mxs_dcp_aes_setrefkey(struct crypto_skcipher *tfm, const u8 *key, >> + unsigned int len) >> +{ >> + struct dcp_async_ctx *actx = crypto_skcipher_ctx(tfm); >> + int ret = -EINVAL; >> + >> + if (len != DCP_PAES_KEYSIZE) >> + goto out; > > Nitpick: there is no cleanup, so why not return -EINVAL here > and unconditionally return 0 below? What is the benefit? Usually I try to use goto to have a single exit point of a function but I don't have a strong preference... >> + >> + actx->key_len = len; >> + actx->refkey = true; >> + >> + switch (key[0]) { >> + case DCP_PAES_KEY_SLOT0: >> + case DCP_PAES_KEY_SLOT1: >> + case DCP_PAES_KEY_SLOT2: >> + case DCP_PAES_KEY_SLOT3: >> + case DCP_PAES_KEY_UNIQUE: >> + case DCP_PAES_KEY_OTP: >> + memcpy(actx->key, key, len); >> + ret = 0; >> + } > > In the error case you return -EINVAL below, but you still write > into actx. Is that intentional? You mean acts->key_len and actk->refkey? Is this a problem? Thanks, //richard From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AC7B1C07E9A for ; Wed, 14 Jul 2021 10:42:33 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 78F6A61260 for ; Wed, 14 Jul 2021 10:42:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 78F6A61260 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=nod.at Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Subject:References: In-Reply-To:Message-ID:Cc:To:From:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=J6phUDVzxCKHAZrrE8qqtilnXlVqCxHF2B+gpeDXJUM=; b=ZwrOINMKhUZPu9uJuPkCvNaoAx mV3+ZmhTN7XRSIh8I9STctGyzVVcwiX9myhN+Kea2oZ+/CnZ/CPELDI6MDzF6xn36fDW9/THtWZ2r ZxtKo9sgokVIY0sZ6tSQYmEI13I2n99uxOd1oraz7Ei8vEyO6twybVWWM1IjWI63hxb8cBET2rvG3 AnNwt9+Y7WqcvUieUpGYLv/oJCgx8e2hgQoYkby0oQEFhVySrAE4L608fRqt9N1o5jw5WiTnX28uZ 3g9rbDi5CsoTgtyfOIrLUWdGHm44UAqEF8ZMAUYTWSrpl4HONvmjAPFhlu92lgud5fHv1qjQTL4k4 IwkrPs7w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m3cJE-00DCCd-It; Wed, 14 Jul 2021 10:40:08 +0000 Received: from lithops.sigma-star.at ([195.201.40.130]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m3cIt-00DC5O-4o for linux-arm-kernel@lists.infradead.org; Wed, 14 Jul 2021 10:39:49 +0000 Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id 3D1A9606BA4F; Wed, 14 Jul 2021 12:39:44 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id rV1lZ2SKB4Ku; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id A9DA86169BC8; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id AP29PNq9W7qd; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Received: from lithops.sigma-star.at (lithops.sigma-star.at [195.201.40.130]) by lithops.sigma-star.at (Postfix) with ESMTP id 6D52F6169BC1; Wed, 14 Jul 2021 12:39:43 +0200 (CEST) Date: Wed, 14 Jul 2021 12:39:43 +0200 (CEST) From: Richard Weinberger To: Ahmad Fatoum Cc: "open list, ASYMMETRIC KEYS" , david , David Howells , davem , festevam , Herbert Xu , James Bottomley , James Morris , Jarkko Sakkinen , Jonathan Corbet , linux-arm-kernel , Linux Crypto Mailing List , Linux Doc Mailing List , linux-integrity , linux-kernel , LSM , Mimi Zohar , linux-imx , kernel , Sascha Hauer , "Serge E. Hallyn" , shawnguo Message-ID: <1409091619.25467.1626259183269.JavaMail.zimbra@nod.at> In-Reply-To: <76db3736-5a5f-bf7b-3b52-62d01a84ee2d@pengutronix.de> References: <20210614201620.30451-1-richard@nod.at> <20210614201620.30451-2-richard@nod.at> <76db3736-5a5f-bf7b-3b52-62d01a84ee2d@pengutronix.de> Subject: Re: [PATCH 1/3] crypto: mxs-dcp: Add support for hardware provided keys MIME-Version: 1.0 X-Originating-IP: [195.201.40.130] X-Mailer: Zimbra 8.8.12_GA_3807 (ZimbraWebClient - FF78 (Linux)/8.8.12_GA_3809) Thread-Topic: crypto: mxs-dcp: Add support for hardware provided keys Thread-Index: NDot3bI3Q+rKmPD/+NEwkrQ8VTnhRw== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210714_033947_550233_22B59430 X-CRM114-Status: GOOD ( 16.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWhtYWQsCgotLS0tLSBVcnNwcsO8bmdsaWNoZSBNYWlsIC0tLS0tCj4gVm9uOiAiQWhtYWQgRmF0 b3VtIiA8YS5mYXRvdW1AcGVuZ3V0cm9uaXguZGU+Cj4gTGV0J3MgdHJhZGUgcmV2aWV3cyB0byBn ZXQgdGhlIGJhbGwgcm9sbGluZz8KClNvdW5kcyBsaWtlIGEgZmFpciBkZWFsLiA6LSkKClsuLi5d Cgo+PiAtLS0gYS9kcml2ZXJzL2NyeXB0by9teHMtZGNwLmMKPj4gKysrIGIvZHJpdmVycy9jcnlw dG8vbXhzLWRjcC5jCj4+IEBAIC0xNSw2ICsxNSw3IEBACj4+ICAjaW5jbHVkZSA8bGludXgvcGxh dGZvcm1fZGV2aWNlLmg+Cj4+ICAjaW5jbHVkZSA8bGludXgvc3RtcF9kZXZpY2UuaD4KPj4gICNp bmNsdWRlIDxsaW51eC9jbGsuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9teHMtZGNwLmg+Cj4gCj4g VGhlIENBQU0gc3BlY2lmaWMgaGVhZGVycyBhcmUgaW4gPHNvYy9mc2wvKi5oPi4KPiBTaG91bGQg dGhpcyBiZSBkb25lIGxpa2V3aXNlIGhlcmUgYXMgd2VsbD8KCkkgaGF2ZSBubyBwcmVmZXJlbmNl cy4gSWYgc29jL2ZzbC8gaXMgdGhlIHdheSB0byBnbywgZmluZSBieSBtZS4KClsuLi5dCgo+PiBA QCAtMjE5LDE1ICsyMjQsMTggQEAgc3RhdGljIGludCBteHNfZGNwX3J1bl9hZXMoc3RydWN0IGRj cF9hc3luY19jdHggKmFjdHgsCj4+ICAJc3RydWN0IGRjcCAqc2RjcCA9IGdsb2JhbF9zZGNwOwo+ PiAgCXN0cnVjdCBkY3BfZG1hX2Rlc2MgKmRlc2MgPSAmc2RjcC0+Y29oLT5kZXNjW2FjdHgtPmNo YW5dOwo+PiAgCXN0cnVjdCBkY3BfYWVzX3JlcV9jdHggKnJjdHggPSBza2NpcGhlcl9yZXF1ZXN0 X2N0eChyZXEpOwo+PiArCWRtYV9hZGRyX3Qgc3JjX3BoeXMsIGRzdF9waHlzLCBrZXlfcGh5cyA9 IHswfTsKPiAKPiBXaHkgPSB7MH07ID8gZG1hX2FkZHJfdCBpcyBhIHNjYWxhciB0eXBlIGFuZCB0 aGUgdmFsdWUgaXMgYWx3YXlzCj4gd3JpdHRlbiBoZXJlIGJlZm9yZSBhY2Nlc3MuCgpJbml0aWFs aXppbmcgYSBzY2FsYXIgd2l0aCB7fSBpcyBhbGxvd2VkIGluIEMsIHRoZSBicmFjZXMgYXJlIG9w dGlvbmFsLgpJIGxpa2UgdGhlIGJyYWNlcyBiZWNhdXNlIGl0IHdvcmtzIGV2ZW4gd2hlbiB0aGUg dW5kZXJsYXlpbmcgdHlwZSBjaGFuZ2VzLgpCdXQgdGhhdCdzIGp1c3QgYSBtYXR0ZXIgb2YgdGFz dGUuCgprZXlfcGh5cyBpcyBpbml0aWFsaXplZCBiZWNhdXNlIGl0IHRyaWdnZXJlZCBhIGZhbHNl IHBvc2l0aXZlIGdjYyB3YXJuaW5nCm9uIG9uZSBvZiBteSB0YXJnZXRzLiBMZXQgbWUgcmUtcnVu IGFnYWluIHRvIGJlIHN1cmUsIHRoZSBjb2RlIHNhdyBhIGxvdCBvZgpyZWZhY3RvcmluZyBzaW5j ZSB0aGF0LgogClsuLi5dCiAgCj4+ICtzdGF0aWMgaW50IG14c19kY3BfYWVzX3NldHJlZmtleShz dHJ1Y3QgY3J5cHRvX3NrY2lwaGVyICp0Zm0sIGNvbnN0IHU4ICprZXksCj4+ICsJCQkJIHVuc2ln bmVkIGludCBsZW4pCj4+ICt7Cj4+ICsJc3RydWN0IGRjcF9hc3luY19jdHggKmFjdHggPSBjcnlw dG9fc2tjaXBoZXJfY3R4KHRmbSk7Cj4+ICsJaW50IHJldCA9IC1FSU5WQUw7Cj4+ICsKPj4gKwlp ZiAobGVuICE9IERDUF9QQUVTX0tFWVNJWkUpCj4+ICsJCWdvdG8gb3V0Owo+IAo+IE5pdHBpY2s6 IHRoZXJlIGlzIG5vIGNsZWFudXAsIHNvIHdoeSBub3QgcmV0dXJuIC1FSU5WQUwgaGVyZQo+IGFu ZCB1bmNvbmRpdGlvbmFsbHkgcmV0dXJuIDAgYmVsb3c/CgpXaGF0IGlzIHRoZSBiZW5lZml0PwpV c3VhbGx5IEkgdHJ5IHRvIHVzZSBnb3RvIHRvIGhhdmUgYSBzaW5nbGUgZXhpdCBwb2ludCBvZiBh IGZ1bmN0aW9uCmJ1dCBJIGRvbid0IGhhdmUgYSBzdHJvbmcgcHJlZmVyZW5jZS4uLgoKPj4gKwo+ PiArCWFjdHgtPmtleV9sZW4gPSBsZW47Cj4+ICsJYWN0eC0+cmVma2V5ID0gdHJ1ZTsKPj4gKwo+ PiArCXN3aXRjaCAoa2V5WzBdKSB7Cj4+ICsJY2FzZSBEQ1BfUEFFU19LRVlfU0xPVDA6Cj4+ICsJ Y2FzZSBEQ1BfUEFFU19LRVlfU0xPVDE6Cj4+ICsJY2FzZSBEQ1BfUEFFU19LRVlfU0xPVDI6Cj4+ ICsJY2FzZSBEQ1BfUEFFU19LRVlfU0xPVDM6Cj4+ICsJY2FzZSBEQ1BfUEFFU19LRVlfVU5JUVVF Ogo+PiArCWNhc2UgRENQX1BBRVNfS0VZX09UUDoKPj4gKwkJbWVtY3B5KGFjdHgtPmtleSwga2V5 LCBsZW4pOwo+PiArCQlyZXQgPSAwOwo+PiArCX0KPiAKPiBJbiB0aGUgZXJyb3IgY2FzZSB5b3Ug cmV0dXJuIC1FSU5WQUwgYmVsb3csIGJ1dCB5b3Ugc3RpbGwgd3JpdGUKPiBpbnRvIGFjdHguIElz IHRoYXQgaW50ZW50aW9uYWw/CgpZb3UgbWVhbiBhY3RzLT5rZXlfbGVuIGFuZCBhY3RrLT5yZWZr ZXk/CklzIHRoaXMgYSBwcm9ibGVtPwoKVGhhbmtzLAovL3JpY2hhcmQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK