Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp1341665ybj; Thu, 7 May 2020 22:10:01 -0700 (PDT) X-Google-Smtp-Source: APiQypLuhXeqZq3k+FnT3/QQX9wlFVIm5aP9TgMwddlsgOc+CVeDDp5us2ya3lliyLMu48IIy9oA X-Received: by 2002:a50:9a04:: with SMTP id o4mr640881edb.289.1588914601312; Thu, 07 May 2020 22:10:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588914601; cv=none; d=google.com; s=arc-20160816; b=Fh/o7LZURSVAXHPkDiXMKYDQgaVVu6tBNZ9Z8L9fAMjFtXQCOfhVSDH85IgyHezHCS gB6IKJMgzpr2E7drqRdL9diXpj6aVJxvcOMnuLUe3eJT18+RcX7NlI/eiClgF7+cBEhB hVaJFVy6VUvO4ePUT2nHAho5rxmUf0BM8YdZqP+tBb9dfnJZSazsBdcehVmfiOLV+Twa HNCggDNUcbM1IOk9QG8r7LNbIGigQkayIbG1JEsr7W1btVhA6TmBj0jWCVyW455oPkZh ACajFrznUZTvXLVT5oeo7ueQ4EcQlKQwEGp9zQtJpm0DbDnMm4uFZqcZi5SZTUvfLwuu 0OHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=00+ZqQHPIqMfz3gbanvKZvli7MeBCnbO+EqwF48ZB7k=; b=PLat6RnklEQNEiHJkrZOmnD6F2q5JZI2NLStiqubpWLlwGTcPOQIVc+Ztqk7bDGhV2 JN6vTcW12qhrmnl217LXZIkeJdUnqa6bwCpbABisv8JCgaFpFPjVxavdQ04e796rm22T lAvuhOlcLJvudX7kjEKzrH6uaMiMOLKm5E04N98aAJzhJWtCZKHeKeRr99QiOgEu0yoZ 4VwXVoqJ6QwsnPzJAM3prw4JpN9iC2X4KoOlZ9YeCTZ5xK0KXNF4anJF2/KW58uThAIl DA9a7uO3BnWRwszwY8UMzz2IsRDNnY3oN8qAx996NxF3t1kDR83KcAlM6TJ8dz937Xs6 aamw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n13si327791edq.352.2020.05.07.22.09.28; Thu, 07 May 2020 22:10:01 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725780AbgEHFJO (ORCPT + 99 others); Fri, 8 May 2020 01:09:14 -0400 Received: from helcar.hmeau.com ([216.24.177.18]:40074 "EHLO fornost.hmeau.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725550AbgEHFJO (ORCPT ); Fri, 8 May 2020 01:09:14 -0400 Received: from gwarestrin.me.apana.org.au ([192.168.0.7] helo=gwarestrin.arnor.me.apana.org.au) by fornost.hmeau.com with smtp (Exim 4.89 #2 (Debian)) id 1jWv9G-0003nP-El; Fri, 08 May 2020 15:02:11 +1000 Received: by gwarestrin.arnor.me.apana.org.au (sSMTP sendmail emulation); Fri, 08 May 2020 15:08:48 +1000 Date: Fri, 8 May 2020 15:08:48 +1000 From: Herbert Xu To: Tero Kristo Cc: davem@davemloft.net, linux-crypto@vger.kernel.org, linux-omap@vger.kernel.org Subject: Re: [PATCH 3/6] crypto: omap-crypto: fix userspace copied buffer access Message-ID: <20200508050848.GA21823@gondor.apana.org.au> References: <20200429144205.5291-1-t-kristo@ti.com> <20200429144205.5291-4-t-kristo@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200429144205.5291-4-t-kristo@ti.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Wed, Apr 29, 2020 at 05:42:02PM +0300, Tero Kristo wrote: > > diff --git a/drivers/crypto/omap-crypto.c b/drivers/crypto/omap-crypto.c > index cc88b7362bc2..cbc5a4151c3c 100644 > --- a/drivers/crypto/omap-crypto.c > +++ b/drivers/crypto/omap-crypto.c > @@ -178,11 +178,14 @@ static void omap_crypto_copy_data(struct scatterlist *src, > amt = min(src->length - srco, dst->length - dsto); > amt = min(len, amt); > > - srcb = sg_virt(src) + srco; > - dstb = sg_virt(dst) + dsto; > + srcb = kmap_atomic(sg_page(src)) + srco + src->offset; > + dstb = kmap_atomic(sg_page(dst)) + dsto + dst->offset; > > memcpy(dstb, srcb, amt); > > + kunmap_atomic(srcb); > + kunmap_atomic(dstb); With dst you also need to flush the cache. Please refer to the flush dcache call in include/crypto/scatterwalk.h. Thanks, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt