From patchwork Wed Dec 1 14:30:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 12650073 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC0D8C433F5 for ; Wed, 1 Dec 2021 14:48:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D46276B00A6; Wed, 1 Dec 2021 09:32:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CCE526B00A7; Wed, 1 Dec 2021 09:32:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFA756B00A8; Wed, 1 Dec 2021 09:32:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0243.hostedemail.com [216.40.44.243]) by kanga.kvack.org (Postfix) with ESMTP id A08B16B00A6 for ; Wed, 1 Dec 2021 09:32:44 -0500 (EST) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 6DCFA180FEACE for ; Wed, 1 Dec 2021 14:32:34 +0000 (UTC) X-FDA: 78869466228.11.F963041 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 006D7D0020EC for ; Wed, 1 Dec 2021 14:31:05 +0000 (UTC) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1B1E5uxN002539; Wed, 1 Dec 2021 14:30:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=JVYiGj7zxYnpmEXEjBltjitzBrpqk8zBSKjniaVAZGk=; b=rsYZe3GkrkbyK9Z4GJ9uWTDs11pni5u0FuTCxJkrkYGHxe5tmum1dCYkiCF7UY0voxVn rveGneAbJO4M9ZaMFukikzJy1+H4C/1e/ncKBprHs5qxtpyBsQ6x+yIDTIuc3ZX2TJnz oA2/8g9U0fMRI+2cDG/HAgBkbioqvlSkDcc4F07yK/IYiYc52CFKr+Qcs4exRdpfUweQ ZiFlmY/3LD92ZNGhCi+zutntcVjYrwEtAxK+ThxOFcpZurj56JmBBcFSX0mrKroECaMp yrIYRHhfIZIPLBT2eI4nvxblxsrMv1KibeX18zDra8AKDTFpoWdC6HvHPhPV+9iflVvA sA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3cmvmx221s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 01 Dec 2021 14:30:54 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1B1EUNPS108922; Wed, 1 Dec 2021 14:30:42 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2104.outbound.protection.outlook.com [104.47.70.104]) by userp3020.oracle.com with ESMTP id 3cke4rv5ew-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 01 Dec 2021 14:30:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KK7IQT6RDuaOS9C+HHE1ePLBB4aU6uvwIwnS+GqkLxnWVuvb0mVyzRXfau4+ceQht8YmfFF6dWiJEJt+hXT1PizBiS/PRtxwgpKLjEWgOswKSWzTtraaXSobzVkZOXdcDJQHytQJwlJYY67FyjD2gHCPOY0NNoHPjaSviIF6lXAltsWT6uSr8Lag3DjPp+SVV5RpA8hf8hep+ZtA68ygPcNFl6nL7NSxlmpxaoXYB8vYqBCpCyrXfeWreLlY3WeqtG8jlwYkosW6rNaph+soLGU0gUn7twGpGE4MbZTTF/aTU50PfGsdnDJi5fMxxwel57MjYyht2bXjmHl1gkspSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JVYiGj7zxYnpmEXEjBltjitzBrpqk8zBSKjniaVAZGk=; b=lz2ZFkUH5NmO43xt41cLRWMFK7wgekbdI4L2NN50+rwh1J4InNkoX/P3++YWlAnd/SvEGk/jCatqs1Fc36SJmoDVlgvHWlxga0ZDZKC7oIIVy4fqJA1sBzYTsAH2ffgKM1Egfu1vK83U4FdSd692gAhXVpUXINd06bzRsi4ye/8cGPzwADR8sb5gvnB/26YLXPo91mtqhVa6cVq1Ubm+yxE0cdue/R9H1yxwKISpgUAXkbo3RbZE0C80x6rngzNI8QMVNNmsO/n+22Kv+MJetNwOmhyXBfC1Lxbhbm3hTjUGWjiQnivhAqEsZ7nVYfpz+Vq9d0GH1ZWb7ZDdUFRoZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JVYiGj7zxYnpmEXEjBltjitzBrpqk8zBSKjniaVAZGk=; b=xo4m9NiQfc9Wy0KLmns+R6JCseV4l7+uqIllJz4vUQiiuuXof7Nq6zKi+J5IGhQlRoQPo61G5i+SbBjAWvjRIehkE0BJDqt2gU9l5ujUhTJH6xykdeynyf5I6mxExZOIOLb6t7Awju4WK7bsZm68Nh1hB4c/FmuwLRBULtEpf7U= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SA2PR10MB4508.namprd10.prod.outlook.com (2603:10b6:806:11d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23; Wed, 1 Dec 2021 14:30:37 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d0:8291:84d:ac66]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d0:8291:84d:ac66%7]) with mapi id 15.20.4734.027; Wed, 1 Dec 2021 14:30:36 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Song Liu , Davidlohr Bueso , "Paul E . McKenney" , Matthew Wilcox , Laurent Dufour , David Rientjes , Axel Rasmussen , Suren Baghdasaryan , Vlastimil Babka , Rik van Riel , Peter Zijlstra , Michel Lespinasse , Jerome Glisse , Minchan Kim , Joel Fernandes , Rom Lemarchand , Liam Howlett Subject: [PATCH v4 35/66] optee: Remove vma linked list walk Thread-Topic: [PATCH v4 35/66] optee: Remove vma linked list walk Thread-Index: AQHX5r/wLdDkN8FmykuWW16eIAkEeg== Date: Wed, 1 Dec 2021 14:30:07 +0000 Message-ID: <20211201142918.921493-36-Liam.Howlett@oracle.com> References: <20211201142918.921493-1-Liam.Howlett@oracle.com> In-Reply-To: <20211201142918.921493-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.30.2 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 21b31a45-1dd2-47e4-7c36-08d9b4d72452 x-ms-traffictypediagnostic: SA2PR10MB4508: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WSk7zoG9svWuWeZLbab7y//xF2EZYSo3rVWcj2IzX6erhxmsdmy1MvrnDD5Zj6yDygV8lLiwe33xgw3cqGknxqQZaxf8Mo8FtXYkWQRYnyNWP6R/Kwhp9V1cATgeSIpWwAAvqLs2akU9fg0uk554jhdQwLLSCBoNknfQYffLFBFtemT5mX38VAdXTCRww/llg718OdpDm78VyIhh+DH1VqDePU6/c5sjxMz7GApPvSvoiAJJJ3yPcPUWggqXP1VCtJw/DHRvKOU7Qb2r/bCK8kI4LCMWKI/ZDRC5kBUYxODme0monY3j41/9bECjzCPpNEQQg2+88En7FCNAOl8eV3Ck5Ctvte3dVrcDShDO3K0PfaWQ12hyRzGtdFcSGTGpz8EYn06ZlyLkZNB7QSDPGtSp7URPlYLNlDPJEdaU1PC9WMAYylnT4e8uH+nWfSUkCWPIM9d5ZKN1jZ46kksMLY9fwxn8KttEZZ0eZCfQMm9EzmVz4v3Yuzg8qASNLs8LPTXrRu7H+l3Cv30srg2qIhmgl22MCVO7BWSyXiHSglL6h8qMkiF2nNKxo8QllQFkgUW/QvM+PouikzwhqYdE+t++NCmUnptGnWeoZgnI2J8RoLxAZRyfnivlOQi6mLKj3A19qk7iEORHpSLtHobdFnOB5B8M+3UGX6Go0UosN3bVeZPh8fKmVLUC4pllUvRx2olgTn22jHMvhbeVEKyocg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(186003)(26005)(7416002)(1076003)(2906002)(8936002)(54906003)(83380400001)(2616005)(38100700002)(71200400001)(66946007)(86362001)(66446008)(8676002)(6506007)(38070700005)(6512007)(6666004)(122000001)(508600001)(110136005)(6486002)(64756008)(66556008)(76116006)(91956017)(107886003)(316002)(5660300002)(44832011)(36756003)(4326008)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?bMl2p8ShMsnQlqLfX4ovDNi?= =?iso-8859-1?q?geL9jzuhpaTyB9nGnSB8AnrC4U9cBhUsTqUFZdWLdQtDI46466v95pr53jWs?= =?iso-8859-1?q?eoBpuZ9GdH1Bk0wqzyWiK2jyGws2TnyM3qcSqiLFB3vISQvkWmiLMzRtEDva?= =?iso-8859-1?q?Wkk5ZN3S3CI1/0mKmlVC/PXrvGaTsg4dinV3OdZmJlSN6HdJpj8c1RAsm+M3?= =?iso-8859-1?q?JlCkJKi9ERzd6KEUjwYRr5kEBn3hWvunZP/tqVO0I6+0jos2LAJFZzGxbiZh?= =?iso-8859-1?q?UgQWSZet1ZnkVqv3m3ofAxYLRLh0nZXsKYLkP4n4IWbFSXkGxREijMzrKGqs?= =?iso-8859-1?q?PdcQn91YCyZrbivyplvlxs0EquZb66VlYBWYaXTBEYsXTZx0zPLVQTScVw5k?= =?iso-8859-1?q?QWxyFhs09xupHEZCGtgJDHM210TqIFfNXwaN9QgT1f6306EUgE9Nbznx6R+a?= =?iso-8859-1?q?Jg41DcyoytE3qQm13AGM9s30vGhmCi3h6fHPLX+IPij6EcLQ4F5TnpdSLTEb?= =?iso-8859-1?q?n/MsoelBChoex/VGkswATFrDCaFV2jwc88PEdmumqWQNloMW1xJfHftvwc1s?= =?iso-8859-1?q?GKdgxgROAbICchxSitCEzmGVygSb5zCi2/yecLiosLtgtiGNmglUTL8NoUW+?= =?iso-8859-1?q?i9kkq/qggWKOnWQHEuRQnwwJfFuQosvIn9n5y6VdLBEDEef+HsEiBE/EXK49?= =?iso-8859-1?q?XtM6AJR6WY0YG1zvSz+z9FikKdi7E8QsXiTeKLOLayeAXHb/nHrgd0UwzJWk?= =?iso-8859-1?q?NLQOngLopnCr1Cbg9WeEQExPbftrgPk7eX0Njibldu5s88CynuCGpFe1AQp5?= =?iso-8859-1?q?EoT/6W1eXiRGArQ+VYO4yY6aVfoMtoU1EBAKWTAOqJEYiUma2Ip6qyilfV92?= =?iso-8859-1?q?Wk3nvQL1DKIbta1dVSLQgVgZsyA0enYlcQ1aYeg916WgalvMRQJ3GV3wF6cA?= =?iso-8859-1?q?cgmSnm6Qja4T7h03MBsbeo86dOgvQoi66yLCAgD43J3xSYaLFrveyz44QMQn?= =?iso-8859-1?q?I5JwH442chTMQ0thw4kJz7THMRpUFMrmmhdHYsIhiaJoVt2to4R+c30jsKke?= =?iso-8859-1?q?2M3fW+mnzMwijsxoUlotj0U0VCg5cank/KGqHgHZvRZPoKIVLrEk8jq508G9?= =?iso-8859-1?q?d54eZ/dEgyeDocayfryvgBlkELQhQWRu/QM0PaKuUx5gDqE+QmZbWxLgS2Aa?= =?iso-8859-1?q?pPwmREBwwoEQmp2GKGUT1G/90RkVPZswFlhB6vZcnURryCQCn2hBzC1Nwrf1?= =?iso-8859-1?q?yByX8G6KdaogeD76RKdt1fjIFsenLq6lHx1kESbSsmo4Biy4AhC58NfqP0+B?= =?iso-8859-1?q?DS2+x3pjyUSyvHjWN+uv8UwtgJWGwhSEZCb0dKOmUGnImKstHLxKO1z8v7Ee?= =?iso-8859-1?q?HBheSS0CASdLeamrPQ9zBWu9FlN8bAmC3YjbC5dpg+e+Nja9u2ArmUT9RbV6?= =?iso-8859-1?q?FGYEhux3lWDWQ0rNA57esOl8d4zppHqtV7c3OE/JH8VsEiJgL1X+fhHOvbXq?= =?iso-8859-1?q?aZ0h4Eej5vRh+wj7miy3fO6ylg5bCaqEssp5hkOFLkoXJakJfJHKiPhbI9Mm?= =?iso-8859-1?q?uJi+VRIdQZ2z9KIHXwwTx98bTE1F5vwnalYiHP4ydTV/TsiTpDPEdSXyhegz?= =?iso-8859-1?q?7lEXAJCfnkKVLcTSMEqVMEJLDG/1LFdcQFrJyfa/DK9iG0wMH1in3qxVlo2k?= =?iso-8859-1?q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21b31a45-1dd2-47e4-7c36-08d9b4d72452 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2021 14:30:07.1350 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zVxjc6a+kSJMoKFvbwxiMfzgLrFYEpPzpnifVPr3t7y/05cFPVrv+vygR/nM005PaJPP5jZ1PipUY5LLeEjPCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4508 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10184 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2112010082 X-Proofpoint-ORIG-GUID: DNdtdGV3Y2F_9k7vH7g9vy7g1WUf1l-9 X-Proofpoint-GUID: DNdtdGV3Y2F_9k7vH7g9vy7g1WUf1l-9 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 006D7D0020EC X-Stat-Signature: pyow4cwbthiruzjsbdwf6apti5n8unm4 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=rsYZe3Gk; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xo4m9NiQ; spf=none (imf15.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-HE-Tag: 1638369065-953779 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: "Liam R. Howlett" Use the VMA iterator instead. Change the calling convention of __check_mem_type() to pass in the mm instead of the first vma in the range. Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Liam R. Howlett Acked-by: Vlastimil Babka --- drivers/tee/optee/call.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/tee/optee/call.c b/drivers/tee/optee/call.c index b25cc1fac945..177575c445de 100644 --- a/drivers/tee/optee/call.c +++ b/drivers/tee/optee/call.c @@ -342,15 +342,18 @@ static bool is_normal_memory(pgprot_t p) #endif } -static int __check_mem_type(struct vm_area_struct *vma, unsigned long end) +static int __check_mem_type(struct mm_struct *mm, unsigned long start, + unsigned long end) { - while (vma && is_normal_memory(vma->vm_page_prot)) { - if (vma->vm_end >= end) - return 0; - vma = vma->vm_next; + struct vm_area_struct *vma; + VMA_ITERATOR(vmi, mm, start); + + for_each_vma_range(vmi, vma, end) { + if (!is_normal_memory(vma->vm_page_prot)) + return -EINVAL; } - return -EINVAL; + return 0; } int optee_check_mem_type(unsigned long start, size_t num_pages) @@ -366,8 +369,7 @@ int optee_check_mem_type(unsigned long start, size_t num_pages) return 0; mmap_read_lock(mm); - rc = __check_mem_type(find_vma(mm, start), - start + num_pages * PAGE_SIZE); + rc = __check_mem_type(mm, start, start + num_pages * PAGE_SIZE); mmap_read_unlock(mm); return rc;