From patchwork Wed May 4 01:13:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 12841345 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 4668DC433EF for ; Fri, 6 May 2022 15:47:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A64F06B0072; Fri, 6 May 2022 11:47:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9EC986B0073; Fri, 6 May 2022 11:47:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7C9CD6B0074; Fri, 6 May 2022 11:47:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0241.hostedemail.com [216.40.44.241]) by kanga.kvack.org (Postfix) with ESMTP id 6706D6B0072 for ; Fri, 6 May 2022 11:47:35 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 20FF41857289B for ; Fri, 6 May 2022 15:47:35 +0000 (UTC) X-FDA: 79435748070.26.4A11EFE Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf28.hostedemail.com (Postfix) with ESMTP id AF087C0030 for ; Fri, 6 May 2022 15:47:18 +0000 (UTC) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 243LFfx5018740; Wed, 4 May 2022 01:14:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=+UHCW8nFXeFjSUwDaJL/T85wPbd8q1FFGkops0wcf/w=; b=Zdut2UGnI1PocxxcIecPJT4l5+o0KN9aVsNli9EN5IIITNL/lMMJSNRV+Q2aAjPDNf0m 3h/HxB+kVS4bSF6pEzKlsvl541sNJwtNxds1jkallIg9L3F93r+OXaBML54XoPeo+mNO O08Gnx+Ly/ySQOMtRw/Kq9yFE/JwpYkqpi8BOBsV7szXPVt505/zXybJZUAKA06Kvm37 23e7JNEcOGpks9B2FSzOShD8KwwM4miwbiLoYzZhfJknMFR64V2Xzi2Ul97+oYNFjkrK 3yS37l7LFUpIj5kg8JLi3nx19xgXkyJFcIRhnQFfsYrk1JTHdp2RwMbd32kBaxg0QbuD TA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3frwnt74ha-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:02 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 2441AtoB020100; Wed, 4 May 2022 01:14:01 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fruj922he-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 May 2022 01:14:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K5iRcMz9Ou1hZmD+sWZPfSQU8hch5qo04pU2T9VF+G88sKX1r17wiht31MHMB1Hi1vg610cD8fPFEjJkJDKM5uhwKIeQ1lmdY0678dNSNx0DoFQf3SuZK34KAsivph/ZlPcJnJruv+kIsrUfwBMAtuRKSon5u1fglCIh9Hk4wc6RPCU777Xn21TkTYOLADX/Mt28CcQTQgUFSG4SDHR/GaSiatj6bT8TY1xF+VJW+PauZutsIeFma8cT5hk2M8Cq42qsXTuwjCwH8vex/MdP+1S7g1iCT5VEANziSR4fBObBCXu+sqY+g2fhDEIrMAqn97XXEmMGZ9aZDiLARuYsJg== 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=+UHCW8nFXeFjSUwDaJL/T85wPbd8q1FFGkops0wcf/w=; b=aOMEx1UbP80mAMGrREAm7a+igqUxEBaaBTDekLzKX44Vcd9qFZ9OKPQVal4Mr5hi2D6JN6S6Xj7Es5L6rw7eI3GremJnDjzgnEXWtoWMgGkzERKAm7oQTXX3bj7FWSw1EvQcq4uvuRv5stGOGwQZv7BLZaJmzi1kdgAuCKyuPhu7PslGkfnzcG8KodwH3rx5QfwUEHbLtNlRkPujJnNUJTvf9JwntkljFD+5ekQ9u95vLvn58m5W3eziiKYVBsMUlhUw1Xvy0A92i8H1CxJYTMeQjx5PV5UNHG0BnfZtdjY9uvZC7Vvf6Qb30znjzko8KdF/WgIxiC1DA6hVASNj5g== 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=+UHCW8nFXeFjSUwDaJL/T85wPbd8q1FFGkops0wcf/w=; b=g5U2q/Ki80xzwfN6G1cXroTuJalxkqYwuNNGuqyfBWTNrEOi9qMwzcNAw1PghCLkjkAdh/vmdJ/6BjIWS7Kb0UIcf6/IHckEkiQFwUTQ1zDQp6RO7ODndB2mVuDtA65WNomDFeAFL1TyuQXogqz0Xr9kcKC1M4v5HlfD8g8/aQo= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by MN2PR10MB3728.namprd10.prod.outlook.com (2603:10b6:208:115::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.21; Wed, 4 May 2022 01:13:59 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c%7]) with mapi id 15.20.5206.024; Wed, 4 May 2022 01:13:59 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: [PATCH v9 38/69] optee: remove vma linked list walk Thread-Topic: [PATCH v9 38/69] optee: remove vma linked list walk Thread-Index: AQHYX1Q62krzGFlVpE+L7mD++uYYPw== Date: Wed, 4 May 2022 01:13:57 +0000 Message-ID: <20220504011345.662299-23-Liam.Howlett@oracle.com> References: <20220504002554.654642-1-Liam.Howlett@oracle.com> <20220504011345.662299-1-Liam.Howlett@oracle.com> In-Reply-To: <20220504011345.662299-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.35.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c15877a6-5225-4a45-95c9-08da2d6b5e93 x-ms-traffictypediagnostic: MN2PR10MB3728:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: evkaW6c3P9tCs85k8T4Qjj5HMZRcC51B5t6cULCvJKcBrbGmxjW1hS3SRSNyk5e/F2UGTdKtqkfjLCAunq0hYREpTUKkrsCp9T5LOZHD8Hq5b+D0YVqX/AppnHR1naPH5YfmiD7i/naK4noi879OjjfybXvNK2mQvBTOeVFDW4VnGWbFEhcxoTkVKLrL2HtfF5z6fpZ9kfEAZg7kTnOzJd2Ba9xhXSltjSdq7XUPUe3UKT6LEO2kYjlAxG/uaK7z5xbDCksCCM6Yb4/HgGb0z/WqLAz0Rv9mfIYnP6fvo+RLfyYX0/AOOmR+OPyCeGZ/80jgEpf0alZ+UhZVbvpB0poJ6BZCgcZkGPzF8s0Nth0qjj7dY0DfbCs5RIkG4Y1rmRCV0liaZENfYiOxdDqm8TBRr/PVG7T9C1vG/6ufsPtzhRCiIIIZQVBADSVnpjQDvQgkDSCCmkb6uYBIxms8cGtFmC1b1MVLoSepcVvu22mZCcsmUqn3TcKU4JLwY0rX60sz1eMZsM3O45ulq96S28YfvvBmHj3PkeaiJlXrqMhs2A0U7XlQqSCfg2ILujApd5Fyl1i5WZum4qZSJsmjkTFD2DZ+NVt6mUjy3QnEz9KLxwHYoC9vBm2ZihAx2DH70VJGKGD5JmjfyWr7ookXHQGTLmqu7sZw/smZYQ4bp2BQTpZCuWLV20pKK+lFFDmJu/NZEua0BR3E4mhAgUi2Aw== 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:(13230001)(366004)(71200400001)(508600001)(5660300002)(8936002)(6486002)(86362001)(26005)(6506007)(2616005)(6512007)(2906002)(83380400001)(44832011)(186003)(66946007)(91956017)(76116006)(110136005)(38100700002)(38070700005)(36756003)(316002)(8676002)(66446008)(66556008)(64756008)(66476007)(122000001)(1076003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?mZ3/IAvlmzd9YKelS4/nHe3?= =?iso-8859-1?q?rEo2EFhskrBPQYWJ8jPTM9TqWnYEK5ea2NbzlIb2ZuZz4QoiIsQjgFceNTqJ?= =?iso-8859-1?q?HNwhISTQ/wH3jkUtxSGH516lKsMlVcXU+PLW3LDcppkvDs3obOiTv1wItmqh?= =?iso-8859-1?q?Xf+ATT9/KGn9+Fub7Nn9btf4f74wQPTLighDJQNoEXson4RGqlJAiZ9HSQfK?= =?iso-8859-1?q?yuH6VJnmqTcloi78tq+kJdReioNTxDhF7t73AFSsFRIT/nda5OgSnXA4wD/V?= =?iso-8859-1?q?x11AfxzFDDBEpCmWK69XHOkKBG3EaNmE5nl+XdwsJyVUwXgMyv8cm1l3rw6w?= =?iso-8859-1?q?szs/lDeR79e/K29fKnCka4bid8lZaKOmi8nNgEzdGg/8MsxwrecmGxw5KMnE?= =?iso-8859-1?q?WadDcYB0yd3veFvV91JnMCGBNI2yiq5Ek8lboncki8L9QCH1k/G1Tv+Q2hgR?= =?iso-8859-1?q?i7XnsGSetq2DzYy2kWIZoszWTxCGVYLGMVsZqV9aNM+2/fvRi35CbC51aj3p?= =?iso-8859-1?q?Wym0A04t/BrddV1iwgXj1IqNtCQ6scctUjjuwjBpv4+Y+kQZF/jY2ZPY/NmF?= =?iso-8859-1?q?Ya4mXeSnluoDXJgGan2gFVfxES4KQ04LO1+T71vSOpVEZd/X2qpIWuWqwIJt?= =?iso-8859-1?q?umWh/zNOP7pNmV/70PnByrs8Z0sqqUO+wbFCrVpubW5UTK5emKetg8xl5Olb?= =?iso-8859-1?q?/BLjsh6epxOEpoDVvr9do8jJ+1Clcrx1Efc/BAMiUFcT/UtTXLszSi/klD1r?= =?iso-8859-1?q?x+DeJBl4bAZlr+jKBQckh9QHVudXbZ8aGzKvMqIcIYnfcHMZ4OdDh8+8ae4X?= =?iso-8859-1?q?gc3eYrhzR4hC/8OsIAloHqp3k9bO/M19WUYt+h7h1RjuM2Ca/BkZ76oXvqke?= =?iso-8859-1?q?k49iAArFzWJnIBydrfd0MA9aBbrDtDpFXMD74hIq3NiAY3LdmKzYmlDBgPVN?= =?iso-8859-1?q?Lar7QcjIQKT7Y2FN4Zs66b7zRxZW19ZaLsCbL83n1ETyZHxEEhnfqyYm3jZh?= =?iso-8859-1?q?DhW8sVVLjI4Q0YdBywk3O4d6sn7f0nDFuTLkCurx2ef+PHoZt+AT5d/Exh9+?= =?iso-8859-1?q?rjKa89r5inwnMUsfoIDo6/T4/kFT7A+KIiAYTRphhHBUCD/aDmRAkb3duwg/?= =?iso-8859-1?q?9BSHwIMT7K89sfe6XfQlUX/VXzDIgxHz2wfcW0KLuKnJH1lrPK6ai+vdpKYh?= =?iso-8859-1?q?rH8qh58GULhN8DuzDVDHdePWcZDKs4l0aeo2xfpt5c8iZY2U+Psr5PjTV65+?= =?iso-8859-1?q?U9ianXpuybfL53tN5R9gScc080xr1vx7IreLqxhg3LAmmtzLQVTJA+pAE4WA?= =?iso-8859-1?q?paFZQognZPdhR95YaPigqWu09x5HPBK5Pq6hbX3V3uXjdY5QovCzLEXgH3/8?= =?iso-8859-1?q?pzGTZVccW1CSl57R08eVrkQ64mrv3pmIOYtOEmASEiHPTv4Cc37Quo8ha9lB?= =?iso-8859-1?q?TxJE6MTRGExWnnT8j03IDeyABqTNKUI3gxBHjitkVig99iWLogTlG+W+8DO9?= =?iso-8859-1?q?sbj9IlwtKL+doZJdtFbWbkZGMQUicl/7zrHBo3s8D3vr48ZCrWjim6J0VvI1?= =?iso-8859-1?q?F1Ie7n84FrelS258OVeusubsqEIB460/QrIBU0Niu/TFEDoJdvdtJvjqV2m4?= =?iso-8859-1?q?7LcqEPhJe6KGAlvTQ4ao3HjgtS85rywiypNK5JoA/2amCT4QiF+iygKEV3UB?= =?iso-8859-1?q?yk9njD2dO69GFM9erLBn668Z08MWG9XEWAiCVuZYxc2gU5agISJ7haxcqJNX?= =?iso-8859-1?q?86LH93iPPvAM3ipzBC+e1tHG1y+RaqjDw/EH3TwmlaWawmbpoLrRFoKN/a61?= =?iso-8859-1?q?jHQkv4q0=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: c15877a6-5225-4a45-95c9-08da2d6b5e93 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2022 01:13:57.5329 (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: s0SoWpgiCDpi1qSfmgYcTLAUVNRoGy5UAm3hCrUTvERA3Ob03YN+OEaFeIipd4UitjgYIn5iBs3DchJkRlNt0Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB3728 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-03_10:2022-05-02,2022-05-03 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205040006 X-Proofpoint-ORIG-GUID: COuqWK2u7TyJRRumet1qeQB3nlAR8kkO X-Proofpoint-GUID: COuqWK2u7TyJRRumet1qeQB3nlAR8kkO X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: AF087C0030 X-Stat-Signature: h887f4dam93e1rrbs7krwm1wa3scioxy Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=Zdut2UGn; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="g5U2q/Ki"; spf=none (imf28.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: 1651852038-616786 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: "Matthew Wilcox (Oracle)" 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 bd49ec934060..d8115dcae6e7 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;