Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1786068ybk; Mon, 11 May 2020 04:20:21 -0700 (PDT) X-Google-Smtp-Source: APiQypLrFoYbITOwdsc6HZenkm4ZvPn+uoxMnt9f2U9wPjfe0j9bOgMQZ3ihuNNlNZdK2yn2oMQY X-Received: by 2002:a17:906:5e41:: with SMTP id b1mr12314181eju.278.1589196020868; Mon, 11 May 2020 04:20:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589196020; cv=none; d=google.com; s=arc-20160816; b=0INUSdPAlTid+f2m9JhSLGnkmvhL893S/HQWWlYYEa38MSuQCWyK/0jY/PshMRga/q xddTljcD5rC98PAnzzWlClQ8BDoyPmwrZNf2KwjypfPm5vODjF99NzLBNEpQzBXs4r3K eyyzygWVa9Mt3XASVwK7DtQvQEHkU4NYpTd9MD9hLPhajT7S6up+4cOKki6HhsvWt3tm nnfuP4zXo/tN0bVVylwFHYIrUOhhN4oRXdG8XsMNYUkD0QJ8nbinzNB1mI0CGIGEtlNf HI2wnDySguDwCnHhuX2DHO+OS1Dn01UFGLxwoB3UVzW/zKtbjuBTb7FXFj84Y82pVnLs trVA== 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=gF2PqYNCTqam+pfCLXYK/QDdEYuZIM7FQDpr83pvKsA=; b=qEyEynQL+a8dww1hIM1emeSk+OrczGp94YlSMV3e/UHLMCtlDCyo3Ig+vKKqe2FVfu yI9nsZkL5OJG6dKkyoSuycvzqndNGKiyCTEO2NC2cMuUSbpj73XgFiFoSLNCTCO0cxE9 70sWq5sxI9L95uDPBO11aMyUjtikHnduocmM1pxNHY5yOQA3NzSDQk+mVLRUIY6loW11 CgIM6wahPzeUXprNWFmm1Btva+7y5O5z21oxCq36BE5Ux/SuuZJed9+EqWQCwwqgGL2X NyMNml3WeY/28uOSkICTQN+FgwRoEI6ekprBemXsduydbHxg8Yby7TLnIShgBn7hrngP Ju/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=M7mlmUld; 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 b10si5803262ejd.323.2020.05.11.04.19.52; Mon, 11 May 2020 04:20:20 -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=M7mlmUld; 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 S1726438AbgEKLTi (ORCPT + 99 others); Mon, 11 May 2020 07:19:38 -0400 Received: from lelv0143.ext.ti.com ([198.47.23.248]:40270 "EHLO lelv0143.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725993AbgEKLTi (ORCPT ); Mon, 11 May 2020 07:19:38 -0400 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 04BBJRrO094029; Mon, 11 May 2020 06:19:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1589195967; bh=gF2PqYNCTqam+pfCLXYK/QDdEYuZIM7FQDpr83pvKsA=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=M7mlmUldok5B0XtYgXZLUXbdyy10v69rfzgZMFdgVX3BP8EBntzmUxTcLX2jAbRyE zgvT3QhyEZyrpHW+PpE2qJQuqsXGsNPdt8yDfNRq0Z4bQTLUilp3y5vATm/z+JWcXh mNSPGNH5wFjcsY4Zx6aZN+hpVl1zoY9C0c58xOJ4= Received: from DLEE103.ent.ti.com (dlee103.ent.ti.com [157.170.170.33]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 04BBJRUW053856 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 11 May 2020 06:19:27 -0500 Received: from DLEE115.ent.ti.com (157.170.170.26) by DLEE103.ent.ti.com (157.170.170.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Mon, 11 May 2020 06:19:26 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE115.ent.ti.com (157.170.170.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; Mon, 11 May 2020 06:19:26 -0500 Received: from sokoban.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 04BBJKOX004306; Mon, 11 May 2020 06:19:25 -0500 From: Tero Kristo To: , , CC: Subject: [PATCHv2 3/7] crypto: omap-crypto: fix userspace copied buffer access Date: Mon, 11 May 2020 14:19:09 +0300 Message-ID: <20200511111913.26541-4-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200511111913.26541-1-t-kristo@ti.com> References: <20200511111913.26541-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 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/omap-crypto.c b/drivers/crypto/omap-crypto.c index cc88b7362bc2..31bdb1d76d11 100644 --- a/drivers/crypto/omap-crypto.c +++ b/drivers/crypto/omap-crypto.c @@ -178,11 +178,16 @@ 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); + flush_dcache_page(sg_page(dst)); + + 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