Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp294609pxt; Fri, 6 Aug 2021 02:08:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxH7cGvwUHA0M8n6xPKkYUs91NjNjKgvXdz8QET4hsGjad2RD0sFlDSFuQZbv3tjzTz+Nsp X-Received: by 2002:a05:6402:12c3:: with SMTP id k3mr11810015edx.11.1628240913276; Fri, 06 Aug 2021 02:08:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628240913; cv=none; d=google.com; s=arc-20160816; b=GdF2zN+9rlcl6MhPm1YQ0f9iIaONiqdAUEfhuaha8326BhF8MLGuDiOU0IOGEvNHPa uzhLxg0jGPUBJFCAVAWPoZor9YUOK5MidKiQ4WrhZh35QxvfPll72dUMVMpA94SSpZMl RBV4FB7cCTuo5mC3geJvpOue+swipzLVp48VTX96iTs1q79nxZndXtWL/AwxUpr5ZDgo fnoutTwPAd17UnyzZxrh3lFCcq1ZH8s9acXKG0R6BGSvw8ZJjh1M9B1QxVvjBl3TBkQa 7qg7vMRH01ADmZcoz/k6lps4WGtPJ8gMvQVyaqCBwxBcPtNktiVdV09hSsJHIsfnVAVt +E0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=oPWm+wxyNbG/Cmkt8N4PAuUkO6Diw/+qbd0InISOfWM=; b=jhdKnKrR/fzuBo78ChGHDlpTivl0tKHJF6MmzlsmPDSF/xavOP9bZLo3/hVv4SJnxa u/J5vPPlZdcWVUDG1QNf3NZ8GbEmA9XdusIzJL55MOTNJ7J3iybxaHktR9SwSpzT6XSO PkZ58yaJbY9VNPsB6e7KAY2Ll3D4HQHGiyiPkz1smFw4iG2lF4GcSJgxfdTawvElnVBc H+cjEGHppyCrzqPmHmiAP1pCVACX2QA+68FgiAN4CB24/B2GzcQkOMdJ4mj8StiQELwA y4N9IeCVRoDd7AZIng4fUCoxmIs5LL4F7XxakOuklRZQ2Q3LueCNt+ItQ+thi+XBqGhG 5rxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=U7D7iPPK; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id aq11si8478588ejc.550.2021.08.06.02.08.09; Fri, 06 Aug 2021 02:08:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=U7D7iPPK; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243992AbhHFJIL (ORCPT + 99 others); Fri, 6 Aug 2021 05:08:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:54200 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231559AbhHFJIK (ORCPT ); Fri, 6 Aug 2021 05:08:10 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 326C8610FC; Fri, 6 Aug 2021 09:07:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1628240875; bh=ejOJ4yOTdt++hSuEVFyBcqe0mDTZq1Op+aa5WSDlpMw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=U7D7iPPKheAiktcC1WYe7ihJc7BGV/Z+IGFIg2T/Cl0Hz0Q0Qn+mHYhncf4MBPzLZ vwriHDiBes5zJ35P/jf6DhXz1Ec8YL+zFQYl/aXrlWicARmsHprwZAyjQtTzPVwkWU sDIxEE9RzG7WFc2rWSLRW5vZdaoMu38opbMytZs6fjR5sp2D6Nmih+0pQUQrZQmlhs C20kJyYLwexuGxLgmKoawSszfqsIMLmQVZKEWAzuz6LgVAJxI+rCLBrYZYBU+zj9oJ 32GZPAWzgB1+sC8zpQJF+dpxqxtS3qIxNyRPOM3+hgM/wAjwuEtfRKfUFEgDh5xFld vAuUxi4gm3k7g== Received: by mail-ot1-f44.google.com with SMTP id v24-20020a0568300918b02904f3d10c9742so4843419ott.4; Fri, 06 Aug 2021 02:07:55 -0700 (PDT) X-Gm-Message-State: AOAM533aOe3H0oISSzLs0aBIo4t2GTx1f73I0RbmlH2bj2/CKmvP61y1 niGDD2/UfSSMGN2RwuLIaCePOxLyI3CyY+Gr2ng= X-Received: by 2002:a9d:5c2:: with SMTP id 60mr6671258otd.77.1628240874580; Fri, 06 Aug 2021 02:07:54 -0700 (PDT) MIME-Version: 1.0 References: <20210730134155.1005358-1-chouhan.shreyansh630@gmail.com> <20210806082320.GA12731@gondor.apana.org.au> In-Reply-To: From: Ard Biesheuvel Date: Fri, 6 Aug 2021 11:07:43 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] crypto: add missing kernel_fpu_end() call To: Herbert Xu Cc: Shreyansh Chouhan , "David S. Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , X86 ML , "H. Peter Anvin" , Linux Crypto Mailing List , Linux Kernel Mailing List , syzbot+20191dc583eff8602d2d@syzkaller.appspotmail.com Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Fri, 6 Aug 2021 at 11:05, Ard Biesheuvel wrote: > > On Fri, 6 Aug 2021 at 10:23, Herbert Xu wrote: > > > > On Fri, Jul 30, 2021 at 07:11:55PM +0530, Shreyansh Chouhan wrote: > > > xts_crypt() code doesn't call kernel_fpu_end() after calling > > > kernel_fpu_begin() if walk.nbytes is 0. Add a call to kernel_fpu_end() > > > for this case. > > > > > > Reported-by: syzbot+20191dc583eff8602d2d@syzkaller.appspotmail.com > > > Signed-off-by: Shreyansh Chouhan > > > --- > > > arch/x86/crypto/aesni-intel_glue.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > Ard? > > > > > diff --git a/arch/x86/crypto/aesni-intel_glue.c b/arch/x86/crypto/aesni-intel_glue.c > > > index 2144e54a6c89..bd55a0cd7bde 100644 > > > --- a/arch/x86/crypto/aesni-intel_glue.c > > > +++ b/arch/x86/crypto/aesni-intel_glue.c > > > @@ -894,6 +894,9 @@ static int xts_crypt(struct skcipher_request *req, bool encrypt) > > > kernel_fpu_begin(); > > > } > > > > > > + if (walk.nbytes == 0) > > > + kernel_fpu_end(); > > > + > > Don't we end up calling kernel_fpu_end() twice this way if we do enter > the while() loop at least once? > How about the below instead, does that work? --- a/arch/x86/crypto/aesni-intel_glue.c +++ b/arch/x86/crypto/aesni-intel_glue.c @@ -849,7 +849,7 @@ static int xts_crypt(struct skcipher_request *req, bool encrypt) return -EINVAL; err = skcipher_walk_virt(&walk, req, false); - if (err) + if (err || !walk.nbytes) return err; if (unlikely(tail > 0 && walk.nbytes < walk.total)) {