From patchwork Sun Jul 17 02:46:48 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: 12920368 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 6C9ACC43334 for ; Sun, 17 Jul 2022 02:47:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7BFC2940013; Sat, 16 Jul 2022 22:47:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 76F5E940010; Sat, 16 Jul 2022 22:47:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D5FD940013; Sat, 16 Jul 2022 22:47:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 36944940010 for ; Sat, 16 Jul 2022 22:47:30 -0400 (EDT) Received: from smtpin31.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C585233F9F for ; Sun, 17 Jul 2022 02:47:29 +0000 (UTC) X-FDA: 79695055818.31.7620621 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf11.hostedemail.com (Postfix) with ESMTP id 29E2740054 for ; Sun, 17 Jul 2022 02:47:28 +0000 (UTC) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26GMOljD026163; Sun, 17 Jul 2022 02:47:27 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-2022-7-12; bh=CnNADhKjYBH1MFV5klbefHTM86YPP7N4zYExGYQsyRw=; b=co+4EbGYrFl+yf1pH/k3XFa+bST9oPDOMSEPD5CT4KwGVRATbeyxBB3pwD5B7T2oZCfG nLVnMVzvf386OwL/K8aCvEgfQO1W32ijKdljQwJZ4HVhVmC2PHwFdyLF1JQ/SacxyxaO Z5FIyCwNfJs5scjrT91yRlDchnBSUu1Hm1n78M3wtr5Xr+quoBi2j6K2/c3XsBgFrrC4 bW/Fl+PwmgGJOLUuZx2e/IvRvnDocK6s/0peuiGQ/cQQYHZ/eAWcOh3bRnXF9Vk5RR62 Ta0lVTisirZuAoHbWxajA627r0xqQomycKyM5dbXT1wrSvcaBy5REUWCXGut8M8XsDvA Hw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hbn7a0y1e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 17 Jul 2022 02:47:27 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 26GMYISF036113; Sun, 17 Jul 2022 02:47:26 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3hc1ejp6a8-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 17 Jul 2022 02:47:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RhLmtI7nfEsksq0/hIZCXjAnO1xETIWeqUf0JuAUGOZZsODL/d7EmmqVMBMr8KGgHrfAIL+vn5nUVyHIfTUdwxRNDChC9j4uwEe5wewUvDjY49en87zH8K/MPzTicLWymP8rT5FYxiXwnsVGZsRJQNfASTfzbkGaTAlN4SsJEf53UK6yhAneS8E2DJ71/jx/1d0KsCal4Qq87Y3S8zCe4Ert3dWtxkPG9SZYzV5sZinac7fCut15EksMXLEBRcjMxoIgaDOLicHKlToarYJ8iBs7ZM/vOMEz04FR2g8Fqx/e64G1hyttoUnIdJOWLkR83dWB36IsfdVs80H8Ft/UTg== 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=CnNADhKjYBH1MFV5klbefHTM86YPP7N4zYExGYQsyRw=; b=jUisFt4Mfz3pl+vk6xmHaP1jVb2jota2T+YJ9h25uj8LCGQ/GLlrx2NSdXV8Cn+4NpPq0+GZHmim9ULaHPpmMUiDFSUMFvJadz69bhXenycUJkDwuJA7N4G0326t65ltvcjKQkxotirhMJzPS+42jqKOOocdtoErQ9ct8o+5STiJpFYZnIcaEopVootoah4kfxTyPHxG7PvWMyvR5exnLcOPrVj9JBDK+9sRsyYB9B5oFiP0mwcr5n94OzjclWTlPi5R4IIl2bfwgqWnkieqErm327vx6bYi+aOkBkaKjs+m3ny89UrJrjDch4jIsYee+wuuLs3FlgG5ugjP2J357Q== 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=CnNADhKjYBH1MFV5klbefHTM86YPP7N4zYExGYQsyRw=; b=PrT71UbiFMRuuETW49FC/TGXBXLz+OUvNZpufZVK3b/t0j2n1QbMi0xHXm6X4ZrXanXIwK6pdvVs05PctMIB7wNpIBRqhiaqmT6g268VAkIPAjpEIeJxFdXADeOjPbE/QXQyLAB+nS8tkM41Z18FvaOZMpPv3t24QxagnYIf70E= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SN6PR10MB2799.namprd10.prod.outlook.com (2603:10b6:805:d9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.20; Sun, 17 Jul 2022 02:47:23 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68%6]) with mapi id 15.20.5438.020; Sun, 17 Jul 2022 02:47:23 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , Yu Zhao , Hugh Dickins Subject: [PATCH v11 33/69] powerpc: remove mmap linked list walks Thread-Topic: [PATCH v11 33/69] powerpc: remove mmap linked list walks Thread-Index: AQHYmYd1bD1BlHswgUOpOlje83oYDw== Date: Sun, 17 Jul 2022 02:46:48 +0000 Message-ID: <20220717024615.2106835-34-Liam.Howlett@oracle.com> References: <20220717024615.2106835-1-Liam.Howlett@oracle.com> In-Reply-To: <20220717024615.2106835-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: 72302601-d6ba-4216-6341-08da679ead5a x-ms-traffictypediagnostic: SN6PR10MB2799:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DL1D6y7y+nTkw1iiHdEkyoOdkSL9Cu/2NpqGtU8G6+FROzCGYCUdZw/bWUtgI+nXmH8+EZt0I9sBfwtJ06yIrFJC41ng1+1+NPFQnynyLScy2qFWmntP+L7qDxmoan+BCNuj4xzM5xw3u1D8uLtxXmQCfLt/69seCwODfBKH97LE7oFy2sn7E0T4zFnLz7gz6stVtmw3b6NvXgQCv7NWJB7jUXIGEnzD/pDJXPYN+oEdER6LgiKOLeI05w6bwyl18p6EQgK9lr0JsJ3oaQkjWg8qTFyimxS8wYidgWoeU7Hj8Qgh6sDLJtsziyZQPYn/eTpo6KOilhPd+HfSs6ZTM0fgsZdCgVZPv1XqEcrR8T9RyiprW/r+nZ8As5+7oLBVEQsUl7RKXHteRLgiLe3xGtmJo7FaxBwO4cxpJUQnN/m7I7wwlKhToMuLBrEUAQUIlttVZ6VQUi8LnwNprMSSY05OtAabC7e4G7ESSagVozfFrhK79rcAJ68qmvu1+cgslOr4tVkTCCWWhS3p9POqqNzChwU1KZQ+uL7hA85sde+w1P17ACx0uAWCsYEvonAv/FwNudmciA2AI852wTN10E6N1ciFaP3HiiuwxAdtCXC9o+cKO9lqSEkLTdk7EVhaKRdLyLwUTKbLuIQIUd3bx6ofRwn705vaQ9woo6KWzSQvblbWfhgo0hKciGf2yL59XvnOAWEIBlwPLzMdfxzjQy3h0be/wN58HmOpR07j/vYgs9KOEYey5Ecch16iMdlppvgH5gIuAVvvBxOOzKMgKXTPJF460CMiv4Tk9LfwXmXt98Y5eXJm/xh4ISKo1/agMNKmFN8A4iG42pZ3e7iXKucQuhSE1QWGs4XPYHt5KMPKXjey4HmOCVmuKwBRhuNu 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:(13230016)(39860400002)(376002)(346002)(396003)(136003)(366004)(83380400001)(66446008)(66556008)(64756008)(66946007)(8676002)(122000001)(1076003)(2616005)(66476007)(186003)(38100700002)(91956017)(38070700005)(478600001)(6486002)(8936002)(5660300002)(44832011)(26005)(6666004)(41300700001)(6512007)(71200400001)(966005)(6506007)(316002)(110136005)(36756003)(2906002)(76116006)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?iahC+dVF5FJ6a94h15s0PPd?= =?iso-8859-1?q?XHdUYx4dN0axkdgrq1ufuv4Tf4uHnTU2T1SSPXntNfzLd89f84AalKzVTOmN?= =?iso-8859-1?q?juoSLXweLvE3p/sk6bo5CxUkzxei0xWj3njvIldEGTkoBq/DXdtAuIP8c00O?= =?iso-8859-1?q?81h/ma1xyPulrb6cPErX5Ux2p8Mq558Y/uBBgMIbY/rXYL0Y2+JGyh2p+qXR?= =?iso-8859-1?q?k+wi7s5HeQSWLQqwK/lgupgQpluaKfnbfewrZ774caaXMoCdqhrXYUlz9enG?= =?iso-8859-1?q?NhAOk+vUDhxFppOBMHqdBkOKJfdy0NSF0D6l/WdyUrBj5a1rKDy8MU6HSPrz?= =?iso-8859-1?q?jTS/kG3FFCOR9Z8J2jo4+26w9N254s6dNO0/b567fi0M38D0viYAcu6Zs6q9?= =?iso-8859-1?q?REhZk0u/VQ8r/4NXrjbxfSyxp7I4lPiD/NI7Xq2DcAcTcxFQIaH5IimpgX+i?= =?iso-8859-1?q?eSsIU1SFoYsg+u+25WNYPmnif2oF9EuJU6YaHKcRUWAwI0adeLDzF5g2r63a?= =?iso-8859-1?q?1J4m+opy9ro6JqoQISOvlzUOYnlMcUNsZVrIPrVchdOM92+FtXWhIj8dcAf7?= =?iso-8859-1?q?TrhF/yO4w8SwhJ+iF/w8rBhdFhMXBHYGUyXQbm7nSexfjqfb9bxKP1VH0zmG?= =?iso-8859-1?q?WTGL2l93NN4NDOTUDU1XIKJ45PxNoo7/RrWwCOvh/Mpd83sAYGrA6ZdSTK0j?= =?iso-8859-1?q?EkiCIhmTxoq1yfS1dK+WyodhR5oKmzuDOSkx+5xLApbu6WnrCNws6Pi8GhuT?= =?iso-8859-1?q?9W+SYlzHz29DMiqQXiks5k4NU3zLfRiPvQRN8ub4NX+b+QE8advr3r0fkAoM?= =?iso-8859-1?q?0D+P9MQ85EUa3fSKXrHmmx9QwaoiUzkkacB/cGFSMCzzc1ofLhq1TxWydJBL?= =?iso-8859-1?q?BjZaDI+bCGU8vmzY8+bcyK09KJfBb3gNv1UJSgptBb6RtkXJOVZE43HT3yl9?= =?iso-8859-1?q?kmUigi0AwSFiUwL88bHfZVJGNZBYjkZTMfvSy2Mim+TY+nhEQJgDwpMA6dfV?= =?iso-8859-1?q?bGrzDZ0J+Ik706qlneF988DtZ4g0Z+h5pDLPkI198MRMUQitW326HCcfUIC7?= =?iso-8859-1?q?dw2ZCwDR2r9kwOjZjhx19KvJHEMUvjD/7RYezQZUSZFT/bRLMS9dCpjL3Cpf?= =?iso-8859-1?q?70bxHjE8yZ8BptH3KL3XoAaxsyvh0plDpxhzmeVzifkhShk7tAdOCfbLcwzm?= =?iso-8859-1?q?lwjMXjOywXKMGHWKWB1n3x/DWehQEKc7nqHWaZVT+Tlo9OrJ2pKsfNW2e5Fi?= =?iso-8859-1?q?UNsOFpo721Vo52Hf3aDyIOsvt+qf98hGIFLogo+GZcbXFQoPaoTp9dfSVn3B?= =?iso-8859-1?q?BQ3hbh8VBlMkndamP1CsqX8ZZW8RglHSkiNvpICtEqRzEhvmwO0wC7Ix+OlZ?= =?iso-8859-1?q?Is3EmtgkHvoRJrgx7eZ/T4UsiBsVRPfATCdeDmRQOVntCQLuK/whXSKcuhVE?= =?iso-8859-1?q?MXXxBMYcD9qozer1IQiWRBDNf8cXYbW5xCXEhX+4i7XagBdXSfffXEvoakhF?= =?iso-8859-1?q?oP6hgw2MvQA3sH7LA2mc+it83VICQMgVDsGH8askDWZwWLnp44fqTcxk17qF?= =?iso-8859-1?q?eQkilBb94hgsVxPTfDYZTl6g9f7D/AJuQ9qg1DJLhz1a9Hv3qvaDOst5DI0E?= =?iso-8859-1?q?zUHcc+wXDlOi8g8SolTd4ATyhFd/5JwXSCnil9Q=3D=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: 72302601-d6ba-4216-6341-08da679ead5a X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2022 02:46:48.5527 (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: vJJ0MPPmNgNj1QoQ69GP9Rawqu9mbqNU0I0GmkfUHSS7rgyr1e4uQ1vdsO+jbbO0Q86rGQRPZlXrgZFBxgMH8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2799 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-17_01,2022-07-15_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207170010 X-Proofpoint-ORIG-GUID: 4b4n-elwiKHuZtd0sYCV1mNebKVq54cC X-Proofpoint-GUID: 4b4n-elwiKHuZtd0sYCV1mNebKVq54cC ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658026049; a=rsa-sha256; cv=pass; b=DBlbA01h6XWTUnAI5aNvu6DjO1hCyiLzcoXMBFvZ6i1A25hbEwpIwMzmslT1qS98oIGaBV 0dgaBS7CWuLWrdGKns1lJVpB0QgpPxGwzZivXgyIMle1mEQAjCbue4XL+kSs6CL9rPZSze zmvSa7u3AD0z+wBomnCawWT0m59XBhE= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=co+4EbGY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PrT71Ubi; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf11.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658026049; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=CnNADhKjYBH1MFV5klbefHTM86YPP7N4zYExGYQsyRw=; b=lX6FhB8ueb2g9P+qhXacsCIiwll8zMs5usGtdGW+Xl0c2aM87UHT84FmAM0KqGdMcXHTLP l1RgWdZZMQsw+1GWFdBWYQLyPxxK3B7rviV819BjirBLI+hEcGLZWzHHPP/b1YltpMxgo8 QyRBGyhDbjxT6D7wfJKwExeU97jYB/c= X-Rspamd-Queue-Id: 29E2740054 X-Rspam-User: Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=co+4EbGY; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=PrT71Ubi; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf11.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com X-Rspamd-Server: rspam08 X-Stat-Signature: zdxcd6rm8irpniqgom1xu4h1zhow1k4u X-HE-Tag: 1658026048-878363 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. Link: https://lkml.kernel.org/r/20220504011345.662299-18-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220621204632.3370049-34-Liam.Howlett@oracle.com Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Liam R. Howlett Reviewed-by: Vlastimil Babka Cc: Catalin Marinas Cc: David Howells Cc: SeongJae Park Cc: Will Deacon Cc: Davidlohr Bueso Signed-off-by: Andrew Morton --- arch/powerpc/kernel/vdso.c | 6 +++--- arch/powerpc/mm/book3s32/tlb.c | 11 ++++++----- arch/powerpc/mm/book3s64/subpage_prot.c | 13 ++----------- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 0da287544054..94a8fa5017c3 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c @@ -113,18 +113,18 @@ struct vdso_data *arch_get_vdso_data(void *vvar_page) int vdso_join_timens(struct task_struct *task, struct time_namespace *ns) { struct mm_struct *mm = task->mm; + VMA_ITERATOR(vmi, mm, 0); struct vm_area_struct *vma; mmap_read_lock(mm); - - for (vma = mm->mmap; vma; vma = vma->vm_next) { + for_each_vma(vmi, vma) { unsigned long size = vma->vm_end - vma->vm_start; if (vma_is_special_mapping(vma, &vvar_spec)) zap_page_range(vma, vma->vm_start, size); } - mmap_read_unlock(mm); + return 0; } diff --git a/arch/powerpc/mm/book3s32/tlb.c b/arch/powerpc/mm/book3s32/tlb.c index 19f0ef950d77..9ad6b56bfec9 100644 --- a/arch/powerpc/mm/book3s32/tlb.c +++ b/arch/powerpc/mm/book3s32/tlb.c @@ -81,14 +81,15 @@ EXPORT_SYMBOL(hash__flush_range); void hash__flush_tlb_mm(struct mm_struct *mm) { struct vm_area_struct *mp; + VMA_ITERATOR(vmi, mm, 0); /* - * It is safe to go down the mm's list of vmas when called - * from dup_mmap, holding mmap_lock. It would also be safe from - * unmap_region or exit_mmap, but not from vmtruncate on SMP - - * but it seems dup_mmap is the only SMP case which gets here. + * It is safe to iterate the vmas when called from dup_mmap, + * holding mmap_lock. It would also be safe from unmap_region + * or exit_mmap, but not from vmtruncate on SMP - but it seems + * dup_mmap is the only SMP case which gets here. */ - for (mp = mm->mmap; mp != NULL; mp = mp->vm_next) + for_each_vma(vmi, mp) hash__flush_range(mp->vm_mm, mp->vm_start, mp->vm_end); } EXPORT_SYMBOL(hash__flush_tlb_mm); diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c index 60c6ea16a972..d73b3b4176e8 100644 --- a/arch/powerpc/mm/book3s64/subpage_prot.c +++ b/arch/powerpc/mm/book3s64/subpage_prot.c @@ -149,24 +149,15 @@ static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr, unsigned long len) { struct vm_area_struct *vma; + VMA_ITERATOR(vmi, mm, addr); /* * We don't try too hard, we just mark all the vma in that range * VM_NOHUGEPAGE and split them. */ - vma = find_vma(mm, addr); - /* - * If the range is in unmapped range, just return - */ - if (vma && ((addr + len) <= vma->vm_start)) - return; - - while (vma) { - if (vma->vm_start >= (addr + len)) - break; + for_each_vma_range(vmi, vma, addr + len) { vma->vm_flags |= VM_NOHUGEPAGE; walk_page_vma(vma, &subpage_walk_ops, NULL); - vma = vma->vm_next; } } #else