From patchwork Sun Jul 17 02:46: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: 12920390 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 9132ACCA479 for ; Sun, 17 Jul 2022 02:48:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A79A694002B; Sat, 16 Jul 2022 22:48:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9DE3294002A; Sat, 16 Jul 2022 22:48:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 71F8294002B; Sat, 16 Jul 2022 22:48:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 59DE5940026 for ; Sat, 16 Jul 2022 22:48:20 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3295D20321 for ; Sun, 17 Jul 2022 02:48:20 +0000 (UTC) X-FDA: 79695057960.23.9BE4661 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf27.hostedemail.com (Postfix) with ESMTP id B2E2840035 for ; Sun, 17 Jul 2022 02:48:19 +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 26GMOljG026163; Sun, 17 Jul 2022 02:48:17 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=nNIFuIHx9MnDYq3P5rOQ6f7ayKbFRlKrGhcItY+G7+s=; b=mpBmTnkFNyciiBB4SiI8lLWmhHTrZSp0gP1VRl8Ne7rJR46ABlqhoszZhxQuX2A3QDSY STh9sv7w9SjzvtHMOwTXfJeZ9zrEgaFySQaGHo9+LkIlHx0iLA97ii0f1g23Xj4mlzh5 cDjuoghora0vbia31ClBXAM7wT6hf+3FoFkz2f3IPc7jYJ/65ELbjZR6+JLshWy3dtmy BheClKzw52U44nL6sJqGFTq3dhLRsDDnWfRrOrQeZ8e2bFHlG7oQV5gK396t6f9+DlQp 8LjuUZQCoj9nPO2/Cy5GkEM+CKyA9uKxTv+0kUrCUsPzCxmpugOaVTHOHYV8O0IRNEKl 9A== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hbn7a0y1y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 17 Jul 2022 02:48:17 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 26GMXgIh021817; Sun, 17 Jul 2022 02:48:16 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3hc1k1n7ky-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 17 Jul 2022 02:48:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B2lSSynP70HniX7HmAAATdc5DQ+ETXA+AFYJ8MaCl+RMqgNiPcXVIjFv/EnmaHSAzVrWxhXBd/Cy+xtqOyGNvcoj5dL47zeP6VGgtC7iWe+AmEiXbLkafnp6aRcT6I1MuGU2bHaY4A4NuBiDDeWmbGawgTVU4uvB/Sksxzd41z6ES6/zWzEJAK4/tGROQ/N3KrouYZJjXmNdbSxHiyl3rJhNZTfinB+aXx5vt6Gsd33h+W+oSi86qdT2WhOq8A/Z4btLDu4vDh+T22Ugc0JJ1ld4PCKTF3K7m1rAMzfdyNNsL+NPS5PwziiIWRDjGL/XGsebG1XMzRsLa6RgfDjnhQ== 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=nNIFuIHx9MnDYq3P5rOQ6f7ayKbFRlKrGhcItY+G7+s=; b=B9DAS2h3mQJtbENv11fESPXMdVNiLdBPgJywmGUVRMGPr5DIITUnqU3/0H2+88XxA6eZ6Ajq96jWGg/ifZm5W5vKbgCRI8xFQ6UxjOmRpw1c86mgEJsuu/CPPpxKqnqQ+wRRTTSyWvT3/eS1pr0owzNsmvmfdDLQF5HSQ5PSX9Dp3kyi+KpJHfy021dIRDOKJdWeBB0tz6EwE2vFZp5eHcVznkqqFzdc+CUvC/N9KufWFE8866UnzBB3Tzkm3TwLSRhHWDjAX3EP317i7R8R+jem1RrAxRA+aEBItVL/y6FCNL9qkRb+l0+5GfElZcmkX+94ZwPBeeO0Lspg8F0JzQ== 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=nNIFuIHx9MnDYq3P5rOQ6f7ayKbFRlKrGhcItY+G7+s=; b=VB+dtpSanE5mwoYEQ14ueYtzV+Bx1mb2WkkUz7hPL9iILKjQJ0D0MjsGaXPfNs3g9okN8YMoOy/yGpGIDlHhNaRVoOAnI+bNETslt7kj/Zue/gcoj29jSzD2Ofc/cFMXYIcsDMMeyNSluyZXOeW3FndQstlZ1+k70Ic50Wfo/0s= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4504.namprd10.prod.outlook.com (2603:10b6:510:42::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Sun, 17 Jul 2022 02:48:05 +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:48:05 +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 64/69] i915: use the VMA iterator Thread-Topic: [PATCH v11 64/69] i915: use the VMA iterator Thread-Index: AQHYmYd7Afncxn91iU2pHjLwR48LZA== Date: Sun, 17 Jul 2022 02:46:57 +0000 Message-ID: <20220717024615.2106835-65-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: 56b6acf8-1848-4283-80cc-08da679ec63c x-ms-traffictypediagnostic: PH0PR10MB4504:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iZSg2BB+/SrAWgJSbNm/syaO/Nn6/kpvp9RgyBEZXfmfCQv02/z852mzF9R0wInCq2am58xHeOB0orHboAhmj6n78lsOpHR+b0EZkByDH3nd6Ex+P6ig4/iJcjF+Ps1SyW7Fh1KIHEUi9qo+RtSKKoi6U4Blvcdb9Rnws7Wtu2P6AFq8Ra7u9wjyYv+/E5AGceCUbcAVVFtYAN9U6CkFsIYEIqWvtFwSaOxTPMblq2HcRhDN+4dmQIgiUBnUzfZmQsQLsAf5JTd8p3VShiEOoOHXDkqo+VBe0dDN68bhrrGeQ4bXwgiUGyoWcUOzH6IZztw9rZT8xzj5iItS1ErHnpuW7+SEUWygbK9xWOuR8379uI+nvh8T7Yz3g/Uh04WDBGrNlO0J4T+eY4+fjcOTAzPG4anj8zJncz7UCissX0n0CdCOEmrLKIdvC2YQqnNtb/r5wuXTPUTuPB3veWorAApApLDtWHpmYeZF/c/BOmqflv99amVHRbtqRX8pfuljRLtjRaX+vmHr4bfX6LYuSG+oVDaevHjEkyqWDmcwN3vVp+7+wkqZfa4XKWjoH9LMEF/hQDjsEQTbOgBcQX5FNQiltWMSTOVElH9/stTvhMa88TQwSx++jrZ1ydOHiAvgyxg7wSojcWf8U0dCbPzFZCKGwQJeZVPprNfDFasqbfeyVoxwpEJbPkPDv2PiZFi8qQKmbucPCxiIHDCR6EsHjfXvwxwKJUiSxofDgL4s11WN8cZvFI18iBzT7Zg1QRXo6TYdGxJXMQPS/lu0g1368nEY5ppoTycVzops4XU6dmKB8ZTj9rLwclOHxBQl2cINRnl19bvdHVGkFbv8BkA+v5lA8/0lWFE6S1wPcq1OjYn0HzdcW1LSqRncLJi+ywya 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)(376002)(39860400002)(366004)(346002)(396003)(136003)(966005)(6486002)(83380400001)(1076003)(41300700001)(2906002)(38070700005)(44832011)(8936002)(6666004)(478600001)(5660300002)(110136005)(86362001)(2616005)(122000001)(6506007)(36756003)(26005)(6512007)(38100700002)(186003)(8676002)(316002)(64756008)(71200400001)(66446008)(91956017)(76116006)(66476007)(66946007)(66556008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?OfJ7o9jKhJEperaELavXNVp?= =?iso-8859-1?q?lPd+ek9dBS0YOgufiKVLiGBXL8C99nop3ZFuqYVGEPdQm54Yrw+XYuWCwhjc?= =?iso-8859-1?q?G+J5mmYZUq7XWGgpezhIxHjlLj3HAuHybWJQypM5FsjZG69NOmhPwC5oYoPd?= =?iso-8859-1?q?91KbOnWBzNRam1Ru+jhO8bZqbGY+FrsLdIrDorcyHprtdwJGewDH9TNLzorQ?= =?iso-8859-1?q?y58G06pMXAq1fzF0Ln9sCQ9FWfhbN4NhWUkJlOkz+5OeQRHxVV9M5WpbVIrB?= =?iso-8859-1?q?1Eh6jdmnDY/5tzG3ssYhtiulu6gY45P+rBFj2vg8xsY6QQiCIH02CTMjjSID?= =?iso-8859-1?q?jMLgEV2+R3+n5gfe6C6SE++J2C002lupRKxQurPk5MAe6O8PUfSVuSOMfqzy?= =?iso-8859-1?q?0PE0AsKXyxIr2DhglXwLqD6HJz5kKinYvrtnPMj3OCVIdyn2fontpZMO0wbv?= =?iso-8859-1?q?bXbha6QgsJHo2vEFYznRVzUmHXSkWeeGUunQqjHHYq7cH+EDWxj337/HJKt5?= =?iso-8859-1?q?yjuyKo6PuWdVdAfacJ18molTookzazYlUlPoZ8dfGBPAQzvGMR5A7MhZGe5P?= =?iso-8859-1?q?eFxTMhQ+vMRTNu2GdxmVK5TQ4kQ19NpMDv/cW6wR/22W/JWPEABxegUt9aL+?= =?iso-8859-1?q?RmveYVkWVvfIvmiw1rMUwqNARL9/u8JuC2pevVxekPvdUVF4a8GA/R/a88a7?= =?iso-8859-1?q?/KeoCi+RkgO8gsDE/G9W9+OaaxM/8U5HJyXHwStclbXdvc3c1hqz0MLUhRZk?= =?iso-8859-1?q?UrR4JO5YBtjd7Iq8Bezj8Jd9cquUoPL1VXtxBwjsJrcISmMaEoRlWo0mWLn3?= =?iso-8859-1?q?n4t6PfISSdkgdXutKCkCEtO5MT7G8TqmYUcsfL/fMM02w52ULlrzOTumjEPp?= =?iso-8859-1?q?w7Mno3ataj3vvPYqpJR+ZxBQXQG2/izHLnyn23njk9yhC0MRVbOhdVx4GIeG?= =?iso-8859-1?q?WX4I/S5R4rqkvk7KGr8kwqR1eB8xi7oBOp+QbEunvhkrBexUtrzOcmcKHOf1?= =?iso-8859-1?q?k+lIo5rENWdRenxwzz8EPJ6DG71MbGY5AvbB6GOE0uicMO+v7cPnaUh70QR1?= =?iso-8859-1?q?WUoCWiOHsjBke3GhSeQoNLl7tmCWkiB9Mwq7Isw5YZyQY1zojV/jTHYxJ81y?= =?iso-8859-1?q?lISc973PezEwwRz96/YFN6jdOB5dzfN3HJktjC4/2WpGW6sAxmoGRWTIIhKn?= =?iso-8859-1?q?WF9oNzjcrwLLMmSz6P5m+ze70nbiJ+HQ+XtrrZVB2qRRkghJXUIF+cF2N3VW?= =?iso-8859-1?q?kB+wHPYWcmz/0QWV5Nr7ypjqtvHBv/BELRt76YZ8rzCkjBWuI8ihhDFnQOZI?= =?iso-8859-1?q?EgdFmOMqYY5tUG6aLgZcraOpTKl4SfD8et+/f+S53j7cNidEKHlG/ecL9jsv?= =?iso-8859-1?q?7JCSM+HCesWB6PhSgmJ0Jntjqvo/FznGENAt9PnmRoBwb7x6dG9PsDmJDmA7?= =?iso-8859-1?q?E1Zna1Yto+6vRq9GBahjc6tzwH1JsWeSXzsagliB3VWT23QtnH5jnUtRfHK1?= =?iso-8859-1?q?OLx3PRl6895sOPWWHZjjDXcqnyeTvvDiUHeqJg1uwQ3lOUlboHSmclY+kknC?= =?iso-8859-1?q?vC0QLkUhQMR+CSFQBUGOO8xYpyyfLWWzwZ8zOAsUw53dvWMhzUjofOE9NJiQ?= =?iso-8859-1?q?oon7MnyYH9+eal1F6rFrAcU4BDqcIwO1Fp4fsRw=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: 56b6acf8-1848-4283-80cc-08da679ec63c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2022 02:46:57.8645 (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: o7itmkvoYYUArTPToU5UiECgrWGkZI23jwh6l4UuNmBrV6xIyGinHnwcZ1ptwby25ewSkqPsbYMRhrLoVc1hMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4504 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 mlxscore=0 adultscore=0 phishscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207170011 X-Proofpoint-ORIG-GUID: LK3X85ZKQ0rC3VBZ0In83aU6b3BmpJAs X-Proofpoint-GUID: LK3X85ZKQ0rC3VBZ0In83aU6b3BmpJAs ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=mpBmTnkF; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VB+dtpSa; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf27.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=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658026099; a=rsa-sha256; cv=pass; b=UrBRY7aRbDHQCHKslJWJ/4UZRASwSNiR/yW94zII9ZdenXcwrGJJ0zOKG0dCfkszv0t3Yk e20zyYesGP1VoOafmWIrj/Ou74c3J9AIAcaDPDgr6RNdYoIbx4qz20QQzy9h82pEhMe9nD QXdJBSgm0gVs9LhTkm5nZJ2XzVT1twI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658026099; 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=nNIFuIHx9MnDYq3P5rOQ6f7ayKbFRlKrGhcItY+G7+s=; b=yHbDIZSbpw1I5cvpOKBurNY2dBUdefD/3FMEpzoFb2uz3nvif3I391kfC9+e1lwXMmn5Va bJKnyUz3mmLJ5NxSLmJ73yUkfskvU2UuLzyFv3N626sdJHwxsJcFl2Ne0hSnTzzulW9z6y kqlajuhG75SJ6fyrPGN3rvPbOubD07w= Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=mpBmTnkF; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=VB+dtpSa; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf27.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=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspam-User: X-Stat-Signature: 4t861oucbr8mijyftjugxbihabwa7qjh X-Rspamd-Queue-Id: B2E2840035 X-Rspamd-Server: rspam03 X-HE-Tag: 1658026099-895609 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)" Replace the linked list in probe_range() with the VMA iterator. Link: https://lkml.kernel.org/r/20220504011345.662299-49-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220621204632.3370049-65-Liam.Howlett@oracle.com Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Liam R. Howlett Acked-by: Vlastimil Babka Cc: Catalin Marinas Cc: David Howells Cc: SeongJae Park Cc: Will Deacon Cc: Davidlohr Bueso Signed-off-by: Andrew Morton --- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c index 094f06b4ce33..a509f7da104b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c @@ -426,12 +426,11 @@ static const struct drm_i915_gem_object_ops i915_gem_userptr_ops = { static int probe_range(struct mm_struct *mm, unsigned long addr, unsigned long len) { - const unsigned long end = addr + len; + VMA_ITERATOR(vmi, mm, addr); struct vm_area_struct *vma; - int ret = -EFAULT; mmap_read_lock(mm); - for (vma = find_vma(mm, addr); vma; vma = vma->vm_next) { + for_each_vma_range(vmi, vma, addr + len) { /* Check for holes, note that we also update the addr below */ if (vma->vm_start > addr) break; @@ -439,16 +438,13 @@ probe_range(struct mm_struct *mm, unsigned long addr, unsigned long len) if (vma->vm_flags & (VM_PFNMAP | VM_MIXEDMAP)) break; - if (vma->vm_end >= end) { - ret = 0; - break; - } - addr = vma->vm_end; } mmap_read_unlock(mm); - return ret; + if (vma) + return -EFAULT; + return 0; } /*