Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp1683361ybl; Wed, 14 Aug 2019 22:47:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqxDLWDvEyAh3XzkugZiqGWcFGuibwWFOZJ97N+wxk6OvoG79azwXAZPapqVF5zgKFI48+lt X-Received: by 2002:a17:90a:e38e:: with SMTP id b14mr729470pjz.125.1565848035517; Wed, 14 Aug 2019 22:47:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565848035; cv=none; d=google.com; s=arc-20160816; b=YDKbZ/epZ+PEWJ1CnINHIFesm0K8I0k7SGpJAPW1S13bunlwn1tcJdj/qLbNxx2tWi KZS5eKL4+arubWTHIeo25DLR1oUQ4ghNLJwn1WUkv5vNAoG2NmJeYy01pDMohJqg37fA 59jv7YCI7qCYUKK4MCMdL5trEc/2DFSX8iFqvkxMhIf/eezdeRNV+LoLM15nqg0nhKJo 02dyZfNmqMYQ8Uh7CInq8bPpDAkSlRnT/FPQAR9DvJw3YesUmOupSFwMTtCYsM87+2+q Zt81+V96usLoSLQW/Qj23cJwE5K1natF2V1DxqjtErOdj6fMBb63dRDy2pjyQx2f0D09 MKkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=jsC+vll+0Hi+DHMsoqNM1KNt99J+HLSGwZ/qaqMGKuA=; b=DUxX6Hj1u74s1ZDKWh3ByUZ0YMc/8MT2DjtI4dtusyTIUANrtz7oPsHWaqUUmTa9YC f2Ps5j8FljRQC9B7dgCNZ+TnfcIxAPrnqfRYTFc08mKZIl8SwnYpScheGolxebJo40mk dtJrzBtmtANX5rhgKilwVW/trmPTxijkW3ulXYGaBRAS+UmFE6GGkNOyM7mN9/EZTJ4S zxBWYsJlm7Yh2IjQN6b+0QCcwmr8mvK1Oes6V1D/LbPNCRAuDWK5HL/TMnUg+OFzR58b IaN3dz+Yc/3OO9hcwXu3qBtzZrSDvsLgZhXBCMzQ07ySvxsLJzvk1iDqSeURHO9jNMk1 otBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="iDd/HFP5"; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33si1310242plq.299.2019.08.14.22.47.02; Wed, 14 Aug 2019 22:47:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="iDd/HFP5"; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729065AbfHOFnv (ORCPT + 99 others); Thu, 15 Aug 2019 01:43:51 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:45864 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726023AbfHOFnv (ORCPT ); Thu, 15 Aug 2019 01:43:51 -0400 Received: by mail-wr1-f65.google.com with SMTP id q12so1157281wrj.12 for ; Wed, 14 Aug 2019 22:43:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jsC+vll+0Hi+DHMsoqNM1KNt99J+HLSGwZ/qaqMGKuA=; b=iDd/HFP5dKBbq3DPltvx84KDTh1RBaEvnkRIDUBXNXp3aa9qie+oJMDkAe4ypJc/rU yWS7w2C4Hdf3s9lE2XeZg8ZbUVicL6JUnT8lPXMQgCXlochuCMT9BzHTz9ppKm2D4FKz PEKkT96PUTeX4TlKMHkbk4cMLTVhmphCpmZSkxD4C9AhqcB9LS4djX0iWL+BJitLM4pm yVS84ajHeHspdjOwxZoIuxuYD3PixakjtxMLIBazRL912t4wKJhjWV+1TlHYc/WjEm/4 v5nFh2uUdMkc04h09HYU5QfG9PZzBSEiWumQDuwUKdaiU9CgZlxKqQfJuOGUDH14muSO pKgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jsC+vll+0Hi+DHMsoqNM1KNt99J+HLSGwZ/qaqMGKuA=; b=Z7GOzxmTh1n6MjTBCkB/8ucVm+IFy0iL/IFFNBDQ7+CkqKH6ihBOAW5vCy9O6Lg5mt +SipQjNPGzlJYznAtaHfwFCQ2ruS5rz4W43XhwHKr0TeYr/MmprCGI/DEaZKbU8Ci2Sz DYKNijXnKL8M3L9j55DX9eIxlrWXpEHI9TBk8tMEZ0JBuaid719udLMmobnMoj8XKGN6 cNF0G7ITipOaWkqoaEhXqYLMqzjNMOp1i7ZDS0YAoALwt/Oq5w5Tb67luX8fy3sef9sx PdJK6PN9gM3Agft91TiT7wiiAWLWvX0g/Z4SETNAo3cN8Q6KKaRo9OfCg+3FDlLTnsxK UTvw== X-Gm-Message-State: APjAAAVfqrrQ6m4g16nmr8O0QLDp3RPoumj4LGlQh1RAB66Hc3OAndxj fuiw6MKrOl+RswCvtITNjwGNUZOkEfZnJbITt94Bmg== X-Received: by 2002:adf:9e09:: with SMTP id u9mr3317860wre.169.1565847829084; Wed, 14 Aug 2019 22:43:49 -0700 (PDT) MIME-Version: 1.0 References: <20190805170037.31330-1-ard.biesheuvel@linaro.org> <20190805170037.31330-7-ard.biesheuvel@linaro.org> <20190815045421.GA24765@gondor.apana.org.au> In-Reply-To: From: Ard Biesheuvel Date: Thu, 15 Aug 2019 08:43:38 +0300 Message-ID: Subject: Re: [PATCH v4 06/30] crypto: caam/des - switch to new verification routines To: Herbert Xu Cc: "open list:HARDWARE RANDOM NUMBER GENERATOR CORE" , Eric Biggers , =?UTF-8?Q?Horia_Geant=C4=83?= Content-Type: text/plain; charset="UTF-8" Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Thu, 15 Aug 2019 at 08:01, Ard Biesheuvel wrote: > > On Thu, 15 Aug 2019 at 07:54, Herbert Xu wrote: > > > > On Mon, Aug 05, 2019 at 08:00:13PM +0300, Ard Biesheuvel wrote: > > > > > > @@ -644,14 +643,8 @@ static int des3_aead_setkey(struct crypto_aead *aead, const u8 *key, > > > if (keys.enckeylen != DES3_EDE_KEY_SIZE) > > > goto badkey; > > > > > > - flags = crypto_aead_get_flags(aead); > > > - err = __des3_verify_key(&flags, keys.enckey); > > > - if (unlikely(err)) { > > > - crypto_aead_set_flags(aead, flags); > > > - goto out; > > > - } > > > - > > > - err = aead_setkey(aead, key, keylen); > > > + err = crypto_des3_ede_verify_key(crypto_aead_tfm(aead), keys.enckey) ?: > > > + aead_setkey(aead, key, keylen); > > > > Please don't use crypto_aead_tfm in new code (except in core crypto > > API code). > > > > You should instead provide separate helpers that are type-specific. > > So crypto_aead_des3_ede_verify_key or verify_aead_des3_key to be > > more succinct. > > > > OK So I will end up with static inline int verify_skcipher_des_key(struct crypto_skcipher *tfm, const u8 *key) static inline int verify_skcipher_des3_key(struct crypto_skcipher *tfm, const u8 *key) static inline int verify_ablkcipher_des_key(struct crypto_skcipher *tfm, const u8 *key) static inline int verify_ablkcipher_des3_key(struct crypto_skcipher *tfm, const u8 *key) static inline int verify_aead_des3_key(struct crypto_aead *tfm, const u8 *key, int keylen) static inline int verify_aead_des_key(struct crypto_aead *tfm, const u8 *key, int keylen) Is that what you had in mind?