Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp6595166rwb; Wed, 18 Jan 2023 07:08:40 -0800 (PST) X-Google-Smtp-Source: AMrXdXsDJt3QJa3pn1RQmoo9Dx8oWNwB7zbdM0x+XR9zn1JxW/ofusKooLIo5gv8xqjIvMgMUO1D X-Received: by 2002:a17:906:2e83:b0:7ad:bc7e:3ffd with SMTP id o3-20020a1709062e8300b007adbc7e3ffdmr6838668eji.42.1674054520192; Wed, 18 Jan 2023 07:08:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674054520; cv=none; d=google.com; s=arc-20160816; b=KXBzOH/8gS8mDetY+flKECL7i0X0CsHvYLHPfJAAaLS71fv09Z8unpNP25x0dcNgYV Y6hRg0hnXkHtp2d6swyMCr9z9TlOZtTyHXK5eFvFLbLXn8brQBaGcGWuAeqEVbt5r7aS iJlJQs+l1URJeg27k7gvUG1SE3Ccr/56xwTvUWn8toLGbg94UdrrPIPkhknE6E+I4PpC C/CWJY559KVB41HOEiCktHjtueVjxjAdAk4k1PRaOrXW/7wvfbar1ppH9T7MEpJM6gFv 16RuBn//KSBFpUW0mDClDfSvcQZ1F3rQGEYY27e5y193CcOL3VUS1gWeSD7YeysO10cK 6VGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=jVHUOw+J13/9aYl2c4SyEdJOgIgRGYkcgblT0Km9z1Q=; b=CSoQS/NTvkGSrEJlCcpX/Vpu/x3OdtNazuB/FN5D6pEHRyvnzfzStdRrgrgrYL2/2U nfhISjf+UQQhK5cyB3uoYKWgPkZaOmQVyE5V4gCHwP37QY2ZM4tm02JZiILg8nCi6/Ew XerKRpm+Loseye6LkrzPztIgogb7Ha/8HvtmOUKX5M8iO/2B5ii5lPS5nfZZHq5KrK0/ 3U2nDzvdCX+1hA7nfn4aa3RTeIOmN9EY3cAFq9mKqRMrg0K9RM/cPBC2Jrl2lHXC05I/ lpZbJKf/I0HQ71BMvy2IavSX0sdpudNz760UnsdDJ3gO3LQFCYCSylu3K3NQHoOJpeu9 1myA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id un2-20020a170907cb8200b007adadfc97c7si30688599ejc.918.2023.01.18.07.08.03; Wed, 18 Jan 2023 07:08:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230435AbjARO6h (ORCPT + 99 others); Wed, 18 Jan 2023 09:58:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54974 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231290AbjARO56 (ORCPT ); Wed, 18 Jan 2023 09:57:58 -0500 Received: from formenos.hmeau.com (helcar.hmeau.com [216.24.177.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFB8310EF; Wed, 18 Jan 2023 06:54:18 -0800 (PST) Received: from loth.rohan.me.apana.org.au ([192.168.167.2]) by formenos.hmeau.com with smtp (Exim 4.94.2 #2 (Debian)) id 1pI9pD-001P0M-LV; Wed, 18 Jan 2023 22:54:04 +0800 Received: by loth.rohan.me.apana.org.au (sSMTP sendmail emulation); Wed, 18 Jan 2023 22:54:03 +0800 Date: Wed, 18 Jan 2023 22:54:03 +0800 From: Herbert Xu To: Tianjia Zhang Cc: "David S. Miller" , Catalin Marinas , Will Deacon , linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ard Biesheuvel Subject: Re: [PATCH] crypto: arm64/sm4 - Fix possible crash in GCM cryption Message-ID: References: <20230118141928.48136-1-tianjia.zhang@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230118141928.48136-1-tianjia.zhang@linux.alibaba.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Wed, Jan 18, 2023 at 10:19:28PM +0800, Tianjia Zhang wrote: > When the cryption total length is zero, GCM cryption call > skcipher_walk_done() will cause an unexpected crash, so skip calling > this function to avoid possible crash when the GCM cryption length > is equal to zero. > > Fixes: ae1b83c7d572 ("crypto: arm64/sm4 - add CE implementation for GCM mode") > Signed-off-by: Tianjia Zhang > --- > arch/arm64/crypto/sm4-ce-gcm-glue.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/crypto/sm4-ce-gcm-glue.c b/arch/arm64/crypto/sm4-ce-gcm-glue.c > index c450a2025ca9..9b63bcf9aa85 100644 > --- a/arch/arm64/crypto/sm4-ce-gcm-glue.c > +++ b/arch/arm64/crypto/sm4-ce-gcm-glue.c > @@ -178,11 +178,13 @@ static int gcm_crypt(struct aead_request *req, struct skcipher_walk *walk, > > kernel_neon_end(); > > - err = skcipher_walk_done(walk, tail); > - if (err) > - return err; > - if (walk->nbytes) > - kernel_neon_begin(); > + if (walk->nbytes) { Please do if (!walk->nbytes) break; As an additional improvement, the tail calculation can be removed entirely because you already set the chunksize so the walker should only be feeding you multiples of chunksize except at the end. Cheers, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt