Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp689760ybz; Wed, 29 Apr 2020 07:43:04 -0700 (PDT) X-Google-Smtp-Source: APiQypIBZOlH5CSqpyAa2bd0rFGiXZqKalYlA/iT75gXDG1R/mVgEB7WOPunt4klFoppom7ltCUk X-Received: by 2002:a05:6402:698:: with SMTP id f24mr2708736edy.260.1588171383680; Wed, 29 Apr 2020 07:43:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588171383; cv=none; d=google.com; s=arc-20160816; b=UgYIpf+mWFOXjofb169UCE0wluT47nz17zjzPtw/Ve+44jCs85xfC2Bm7RL5PdxGGm zeUCTyWE4kNG0bI+CNanwM6xFg8wDuomwlICDFe4jdsi0JDyx73YbaCR2ORpeBq5YEjf T09EqqlCVa9f/P2oE5A2Q2HC6vSwBUhje0diCJdmNjrJmntJOfIJCQiHe8POojdgmV6o mRyV8tSZZsworxl02KEsdvyva1aoe7CjVMu+gAEQS3n+Ugq8y1UyFlD1uR9XJI6+aL7w aAYNwE7ayCV4tEhVVgl0aGfRirb/4ITRTbicqOsWt8El39+mw/o3ZXRFXuNbz1yWHgz+ QqCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=zZFduS8gFGnDWsW8M2oqT5mnD6om2vMq4XFrDQ8AF8M=; b=XIo1OLI71UeEeT9OhwpQ7OXPrSxUw2sv73LLy8UbnVTpTAwvOTDVE1Rrg38xAxBPoo 7tz/OoYawm1NC6JZkbsfX2K6wnNlaYsBXHLvcTtexjzyfPs2h/Wx0SrZnvhDhWFttBTY MZqNyq/ggkYInfPXHgRPp7L3+3qXMYpHxoCXGbPNekadl/5S+eqWyThYANFE1YE9HkOn ip/ikU3D99kd42FkQ9JBvIYqu+Rk9ncHl5HmOKPs6K82gsm4pZDH6hVnCri3nwx5eWN2 v23tWKE1L800stowm61JRZe4cVADRnfKVEEIuOj0eG93Qv1OPKIi/iilrlBQiXLTw8GP tAaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=DtkHvJq9; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w26si3764790ejb.118.2020.04.29.07.42.31; Wed, 29 Apr 2020 07:43:03 -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=@ti.com header.s=ti-com-17Q1 header.b=DtkHvJq9; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726596AbgD2Om2 (ORCPT + 99 others); Wed, 29 Apr 2020 10:42:28 -0400 Received: from lelv0142.ext.ti.com ([198.47.23.249]:55316 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726519AbgD2Om2 (ORCPT ); Wed, 29 Apr 2020 10:42:28 -0400 Received: from lelv0266.itg.ti.com ([10.180.67.225]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id 03TEgN85101676; Wed, 29 Apr 2020 09:42:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1588171343; bh=zZFduS8gFGnDWsW8M2oqT5mnD6om2vMq4XFrDQ8AF8M=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=DtkHvJq95Z2UvOv1FlleDr3iIGHFNAhfiA+B30YL/3L4zF7GNS+LF7LCVTf7PKYLK uqOuV2WnTMU3Mw1fFJoilQG5TAOxvqBmFCqk2rEBVt+GEeDhR1VXOvyCeoFmSiqUwy /uSu1MWjwwmPTXX+mY4XhaHyCXJhOZPaeJnw9GEE= Received: from DFLE101.ent.ti.com (dfle101.ent.ti.com [10.64.6.22]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 03TEgNYt012435 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Apr 2020 09:42:23 -0500 Received: from DFLE105.ent.ti.com (10.64.6.26) by DFLE101.ent.ti.com (10.64.6.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Wed, 29 Apr 2020 09:42:23 -0500 Received: from fllv0039.itg.ti.com (10.64.41.19) by DFLE105.ent.ti.com (10.64.6.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via Frontend Transport; Wed, 29 Apr 2020 09:42:23 -0500 Received: from sokoban.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 03TEgHjN103561; Wed, 29 Apr 2020 09:42:21 -0500 From: Tero Kristo To: , , CC: Subject: [PATCH 3/6] crypto: omap-crypto: fix userspace copied buffer access Date: Wed, 29 Apr 2020 17:42:02 +0300 Message-ID: <20200429144205.5291-4-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200429144205.5291-1-t-kristo@ti.com> References: <20200429144205.5291-1-t-kristo@ti.com> MIME-Version: 1.0 Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org In case buffers are copied from userspace, directly accessing the page will most likely fail because it hasn't been mapped into the kernel memory space. Fix the issue by forcing a kmap / kunmap within the cleanup functionality. Signed-off-by: Tero Kristo --- drivers/crypto/omap-crypto.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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); + srco += amt; dsto += amt; len -= amt; -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki