Received: by 10.223.176.46 with SMTP id f43csp805319wra; Fri, 19 Jan 2018 02:10:39 -0800 (PST) X-Google-Smtp-Source: ACJfBot7BDzV6+mU3FJB4S1CZq6CE3UCba6hKiD15trk9uMYANOf0Wn28T/zHPRXdrj+6S1Z7GGd X-Received: by 2002:a17:902:8305:: with SMTP id bd5-v6mr1305065plb.7.1516356638944; Fri, 19 Jan 2018 02:10:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516356638; cv=none; d=google.com; s=arc-20160816; b=Jgkwcia0QeVvZDfGyKvnROl/II6hK5cBMsWi1DFtGrepYV4m1JzdIwlVwcFLPfyEiG 9cTplGQ61/O23+Dps9RpsYJ3ipiWttCp/i5nVfQMi+nLhDbFBj0nGAZcrP5Cs1qf6UYE 1rIXH1bF5Qid2DYIIKpFZrBTGMkc2CHytnTRuz15V/38vdxQQURD02WP/F0o7an1QBh7 m9ekApujuDyR8yFaQD9sbRetBt3LOh+J21YqGqIVTfIfm+kDLZgad2+Ru4bmTEIYQ1vN lFo66iq0YAj+VnquukKvQFmxYeW2lwN7/6OFqHWUMAOGy1cEZvn33oJ0fINoZv5iUprq jfDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=q3dFxZrl6e1+HqVbTP2jtChmCku9NvtUDtUC8JZ24sM=; b=b7bbIp7JeGx9mgAs5sd1/dfomNz35+IqUFtkHaBsDOCN0Pnw6p7UD3GqCjhJdVkQ4i I4ZAImLjfQIleMG6/L4NPVNEZOJBduEGTwKJ1AvduDRLIwnn0l9eNgiCfN4+kOM3UyHu Ic+Vvkg6Byg4p+DTR3Wq8rCBfmdTisxAwNUGRTJYfcXmPOoxHW0Z772R+L7V5UkKE/4F RqPx3nZWRJ+bZjh5+cu/RttcmuI343JoVXsZ8hGm+rrhhSn5E2LtfHoB4v0EMhpnt9dA TBZHQQQHf2i0j45u6QnNfK0krR7mVyvvFf5Uj4q6/v70LyWod6LAtHO8gHCJYPTkHl2P VgBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h10si8896253pfc.289.2018.01.19.02.10.24; Fri, 19 Jan 2018 02:10:38 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755298AbeASKIe (ORCPT + 99 others); Fri, 19 Jan 2018 05:08:34 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:47923 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754070AbeASKIZ (ORCPT ); Fri, 19 Jan 2018 05:08:25 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 3zNGjx23Ngz1r1yw; Fri, 19 Jan 2018 11:08:21 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 3zNGjw6fchz1qql0; Fri, 19 Jan 2018 11:08:20 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id eSDKqeKlnNja; Fri, 19 Jan 2018 11:08:19 +0100 (CET) X-Auth-Info: FgxuidEauYBKeR67ClGmc6BTXxKRQj4eF8l1PsW7Mrs= Received: from [IPv6:::1] (unknown [195.140.253.167]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Fri, 19 Jan 2018 11:08:18 +0100 (CET) Subject: Re: [PATCH 5/5] crypto: ahash.c: Require export/import in ahash To: Kamil Konieczny , linux-crypto@vger.kernel.org Cc: "David S. Miller" , Bartlomiej Zolnierkiewicz , Sonic Zhang , Fabio Estevam , Shawn Guo , Tom Lendacky , Jan Engelhardt , Arvind Yadav , Linus Walleij , Joakim Bech , linux-kernel@vger.kernel.org, Herbert Xu References: <20180118183404.12583-1-k.konieczny@partner.samsung.com> <20180118183404.12583-6-k.konieczny@partner.samsung.com> <5db6f843-cc51-09f2-f388-8dade440c6bc@denx.de> <9246bbcb-6cd0-8bc9-8286-02c44e6d01bc@partner.samsung.com> From: Marek Vasut Message-ID: <1ac2ca10-7017-7e44-5651-e53a8a613177@denx.de> Date: Fri, 19 Jan 2018 11:08:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <9246bbcb-6cd0-8bc9-8286-02c44e6d01bc@partner.samsung.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/19/2018 10:53 AM, Kamil Konieczny wrote: > On 18.01.2018 22:31, Marek Vasut wrote: >> On 01/18/2018 07:34 PM, Kamil Konieczny wrote: >>> Export and import are mandatory in async hash. As drivers were >>> rewritten, drop empty wrappers and correct init of ahash transformation. >> >> Are you moving checks from the core subsystem to drivers ? This looks >> really nonsensical and the commit message doesn't explain the rationale >> for that at all. > > I am removing checks from core. Export and import were optional in beginnig > of crypto framework, but as time goes on they become mandatory. Seems like if the driver doesn't implement those, the core can easily detect that and perform the necessary action. Moving the checks out of core seems like the wrong thing to do, rather you should enhance the checks in core if they're insufficient in my opinion. >> >>> Signed-off-by: Kamil Konieczny >>> --- >>> crypto/ahash.c | 18 ++---------------- >>> 1 file changed, 2 insertions(+), 16 deletions(-) >>> >>> diff --git a/crypto/ahash.c b/crypto/ahash.c >>> index 3a35d67de7d9..c3cce508c1d4 100644 >>> --- a/crypto/ahash.c >>> +++ b/crypto/ahash.c >>> @@ -434,16 +434,6 @@ static int ahash_def_finup(struct ahash_request *req) >>> return ahash_def_finup_finish1(req, err); >>> } >>> >>> -static int ahash_no_export(struct ahash_request *req, void *out) >>> -{ >>> - return -ENOSYS; >>> -} >>> - >>> -static int ahash_no_import(struct ahash_request *req, const void *in) >>> -{ >>> - return -ENOSYS; >>> -} >>> - >>> static int crypto_ahash_init_tfm(struct crypto_tfm *tfm) >>> { >>> struct crypto_ahash *hash = __crypto_ahash_cast(tfm); >>> @@ -451,8 +441,6 @@ static int crypto_ahash_init_tfm(struct crypto_tfm *tfm) >>> >>> hash->setkey = ahash_nosetkey; >>> hash->has_setkey = false; >>> - hash->export = ahash_no_export; >>> - hash->import = ahash_no_import; >>> >>> if (tfm->__crt_alg->cra_type != &crypto_ahash_type) >>> return crypto_init_shash_ops_async(tfm); >>> @@ -462,15 +450,13 @@ static int crypto_ahash_init_tfm(struct crypto_tfm *tfm) >>> hash->final = alg->final; >>> hash->finup = alg->finup ?: ahash_def_finup; >>> hash->digest = alg->digest; >>> + hash->export = alg->export; >>> + hash->import = alg->import; >>> >>> if (alg->setkey) { >>> hash->setkey = alg->setkey; >>> hash->has_setkey = true; >>> } >>> - if (alg->export) >>> - hash->export = alg->export; >>> - if (alg->import) >>> - hash->import = alg->import; >>> >>> return 0; >>> } >>> >> >> > -- Best regards, Marek Vasut