From mboxrd@z Thu Jan 1 00:00:00 1970 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 AA3DFC05027 for ; Thu, 26 Jan 2023 12:55:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 052F26B0071; Thu, 26 Jan 2023 07:55:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 002C66B0072; Thu, 26 Jan 2023 07:55:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DBEA28E0001; Thu, 26 Jan 2023 07:55:37 -0500 (EST) 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 CCB4D6B0071 for ; Thu, 26 Jan 2023 07:55:37 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 765E880AF5 for ; Thu, 26 Jan 2023 12:55:37 +0000 (UTC) X-FDA: 80396946714.28.9988882 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2067.outbound.protection.outlook.com [40.107.93.67]) by imf11.hostedemail.com (Postfix) with ESMTP id 7B0F84000B for ; Thu, 26 Jan 2023 12:55:33 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=nZLPoF20; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf11.hostedemail.com: domain of jgg@nvidia.com designates 40.107.93.67 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674737734; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=S0CzjhFBy4zhVGiaJsRdfo2ZUSGPm+BUTyVeI96dosE=; b=ptqx3DFq7Y6zcEldMwfsFqZ5beftb8ysl2EJEFqHYCF8fTVrzHqc20PAYATCDI0iThnLyw MwKTwXIXz+cLJUebe1a3GdIZTr87A/n/mPv6dv1L59M0O1luUyIq418zPHEOoPFrVCqBHn BGqZQNJa6v6TNOnj0YlRkVdL/hsPS5k= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=nZLPoF20; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf11.hostedemail.com: domain of jgg@nvidia.com designates 40.107.93.67 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1674737734; a=rsa-sha256; cv=pass; b=DjVTKOI69lCZtmTc54wQ5+5SxDPKQ3cJgVSBo4UWmCd2kEzWC9W321GmRN+vhsFLM4mVEa P0zuXSNZx8uFNspl4F376rTkBgx1c1qAzGHr5hwsPPUQ6FfEHnUX6RQj9aX2g46OzMQsER zyayeAYEA/hZJhzxEmCr5PrRa4V2IRo= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MS1C4LSrxHK5BbBDotJ7ZKLgR2Ljb40kOQHWA+On30W3EKatV7UlSDdG1O+t43WuEwKZ/0oKle7IQcoiW2wvY3x22w1nK1/SxYVO99VO2VUSanZdSGIDKwqKgOMyKwBy0hBsMX+aD0MzVs+1heWGfu8W8KKfPFmhFUVxjg17tHJlups3+380NsIWUf4XEGKdsKwJXGZUlj+nBoqiOmtlJdcsITlNbGwNYb+/xtJ6Ay3l9pDTH54tvl5oDJEsQbctbfOJL9wvLLGsQwvFynpv1DEKooWeoiEi0ViTGOBo4u9ViHjPq+WzF3kBbmgqioaTCxXdTOrkr2r//HTJl+EaEw== 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=S0CzjhFBy4zhVGiaJsRdfo2ZUSGPm+BUTyVeI96dosE=; b=eoS0cw9wg3Sm0YVRAKNHqiLrgYIWEto68xdMGJccUprA88ngl9+XnjfGt5qAY/V0B05leKIiE2jWKvTBfDbQZ9nJFyGrkW5sImnXPD2sdnVY+fH1hzrp1dSQiayE0yHstx9biZ58aeVdIpZkofKJTpMo8wU/HYXcYqs6a2a9Wx+sp+OPkTT24WbT+XfkDvT+E7ZZNZPDSDIXKtjj4UA8YOhvdO00gxxpKq9I2vFzPwMbcxX58MG1FZHEN1WvZiVpx0hWF/NUZsjbzj/t/hqG68pXQNV0sJY+osNaLRY0B4IiGe8abq7bvQY28VDdgBPp+S/bh5SOuJ9ZfeNGmCPubw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S0CzjhFBy4zhVGiaJsRdfo2ZUSGPm+BUTyVeI96dosE=; b=nZLPoF20dwwfW+2QS92LcIHw/nibNA5yjuLz9CluS6vGEu1NecUyUJkf6TfRrqI/GtNPER5z4t6hWnjfEulxVSMs7q3JxAlfR+aTNcItrK2NswvYNE0pe5zI9WdyN/PABhtyagLDNcwJkHZV4uRCrh9MGg7M4as6eAzyobHRZLQvjw7TIQZR/cEW8wrKjl5YPGjayytkatrCMRjsX4TxJeccJvrvTbtPFsnrT4rUWhaB3yNStyFTXj+WQIu7IPbLWfQcNMBsRzrrIn+R2rLZqyL710nGk/3M79LuQIsiehgfdf/wV5F/56iAt0MBa0k8b5XBFZokXcXz/XCmve70TA== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by SN7PR12MB6744.namprd12.prod.outlook.com (2603:10b6:806:26c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.22; Thu, 26 Jan 2023 12:55:29 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::3cb3:2fce:5c8f:82ee]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::3cb3:2fce:5c8f:82ee%4]) with mapi id 15.20.6043.021; Thu, 26 Jan 2023 12:55:29 +0000 Date: Thu, 26 Jan 2023 08:55:27 -0400 From: Jason Gunthorpe To: David Hildenbrand , Claudio Imbrenda Cc: Alistair Popple , David Howells , Christoph Hellwig , John Hubbard , linux-mm@kvack.org, "Mike Rapoport (IBM)" , Christian Borntraeger , Janosch Frank , Claudio Imbrenda Subject: Re: [PATCH v2 13/13] mm/gup: move private gup FOLL_ flags to internal.h Message-ID: References: <13-v2-987e91b59705+36b-gup_tidy_jgg@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MN2PR02CA0017.namprd02.prod.outlook.com (2603:10b6:208:fc::30) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|SN7PR12MB6744:EE_ X-MS-Office365-Filtering-Correlation-Id: 170a6d0c-90d5-4e54-e945-08daff9c99d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QFkQ2Yp9Xre1jg6K+al6q5VCMV/lM6+GIsRlexliM8up5gjEBkPdvhLj7BF/UVPq+jtXSKFhOeYoknRcbDFQ51cLJEudkjRf/brfiBhDFTCiMUHYtunt4KJzfIRkO+FxGlPdSxa6t/cdPIBtAnpTI8Ypz/2723orjcANEfYijUVqIbkj9al5/vY4G0A/mkElB++q94EkpJ44AKDhRmN+6WP5aOgPxVwIsloLSktjgMZVDFdJYYPnQ0kNiOfpXkE90dYAomtaX2Urdmu42N1v04LVnGFutqxg23Oecu5XMKJ95LLNhB1eFDRMJKEI7BbyCgyRX2WXrYqW2x/YY2Jt1E9fcNSPYkfG1t931/3CTA0eChDFuDXWby0kiPnJAfprtZjhq1QJnPRllCbD0rGHww/3intnvYyqFxxAVgGEiVnoELdWBs7jhQAi8M8JrYPwe42TP9ZadkVeRyPN/rLAbgpM7JcHdaySOlH8QsEnVAReVQ+Zn0obcTVPbShLEox+0lRlRdx0XcxzTvh1sQM3RPhHzxkezr765GppIW550Xx5KomWaOxJLabRkwaaBtIZwhpKnYk/GPUzcTXdLswaNZZKbIwaGIBV5CtQ++cblmItJo2nn9b4fIj4FukVmDhtnQhEYoykza9dn1EtYEMv2Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(346002)(366004)(396003)(136003)(451199018)(316002)(54906003)(110136005)(38100700002)(41300700001)(8676002)(66556008)(4326008)(66946007)(66476007)(5660300002)(36756003)(86362001)(8936002)(2906002)(6506007)(53546011)(26005)(6512007)(186003)(478600001)(6486002)(83380400001)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rMKR9sX+KBPhZue4AwrnBebxsFYYU9Y8WJgRKOQbz6Oz0/15jNvmtIH+mDHf?= =?us-ascii?Q?n09S4cmnGG4qE4kmQt0VunzkTT6OfRg/nLyAXT0ohwq/zOcnXhbVId7NyJ6q?= =?us-ascii?Q?r+J5vIsmLCdBqIeFcnhK6UOYSG/7Dy7qh08tX/0YsMEEWzZnqQbZVtu/sVWR?= =?us-ascii?Q?P8wtdDDKA2JCLHL4dB8dG5lxaLM2mxVdYA7tUlz+2MdZmm+s3dc7n5PqShPk?= =?us-ascii?Q?W9DsxAFKtEGqk/B4e/WdwBw4+1bRIiACTW7rk4Hs3o9n0lCn9bWUeDFnj8S2?= =?us-ascii?Q?SDdJ2mR6ZToLbvPIIoRfGDKyNdMdiPlxdDXhzj6PRkiR5rJDS//5+Pcg0aGy?= =?us-ascii?Q?daGglJXrdfG+TCWFRPp7RY4N+IXcvElbdOmrZYgQWVrETVecyKoWDOu6kR+P?= =?us-ascii?Q?s4CZJZmHPrhEdrkYQ4BAzSShex+EW+eIX8vJiAZKeNK4a61cTJ0UMrGsvBoh?= =?us-ascii?Q?9s/aTTkOSUtNsdCYmz0rPJQGceoLsKWfPiQ5lRZEAQ4liy/EGDynqmjl09V7?= =?us-ascii?Q?avXmxVEcajqG7uGQh3dx0W78eyH7S0n7AaNXBR6XGBZKNiPTHc/7TtnEDDBp?= =?us-ascii?Q?K0tOGNCyZ9ffO9vz8dLf8PWLknfxWsDSoojGhv35uXL86EbwMMt9zR44SRRJ?= =?us-ascii?Q?dilg21NtpoIAjdgPGw0L2NIgjbEUOCRciB8A56TQNifAf2kSo+HC9WikeEVH?= =?us-ascii?Q?pO+T5EJIFAnoC5iTehGNVIdzPjZJJTyaQl4AwMqiAQOcdkFp01DPuLp4qVTn?= =?us-ascii?Q?D/v9HFIQS8zYONoYOn9unCx4GGuwUZrc/beTFeYNRwvvprkBS2d0uPTBkibK?= =?us-ascii?Q?MM8FRQDpI+cF7AcxMbNtY8NBCUVAz5gEliQ9oQxDkFRUKt70jLp/rPiXXvtH?= =?us-ascii?Q?KhL3UVwTM3mPKfEQJNi/0nov8deWoQTq9aQT1pE6iTAl+yIrhZv2OOu6b9UU?= =?us-ascii?Q?GIeoBpqb47Rtvz/Y4D/C1bulm2YP5XGkBmT1fnss4xdmgYCnGoCgiOp1vFkT?= =?us-ascii?Q?hY8VV5l8fhpQVqnkmpjJmngc2cV0kCIbeL7CHJl+AF59DYKqN9Lk6RXJ31eG?= =?us-ascii?Q?CXKMEmMdOKtEVUnEWqe+f7xF76/5Gst29dxJo7kETDIqPpHb5nNNKHIFyykw?= =?us-ascii?Q?Cbgg0FvrqOtW26HVMd616qk+hObOYBEQUqMRak9qdDnId/M4w5syjWqLAKC7?= =?us-ascii?Q?RaKfiEChkcVetazFDv28zZo9qo0WfCSDQKDz114WII/L4echuX5ZH30iDrGu?= =?us-ascii?Q?gPFQ/bXGB2EbzSgWmPzLOsKpWyGBvZlIWsWEXTAFKGNEmjHu853J3LFmjrIh?= =?us-ascii?Q?dMU2eIhHeGwLeVB68HeuqAwJpy4N8gLYzPqFdPHeTZBcyh3WsIgRCl1yLN5X?= =?us-ascii?Q?17imT9mOoMmsBXM/WeWQsCtXAv1CC5ewMtpogMygE+irTMfifhedU9ZiymLZ?= =?us-ascii?Q?DvXi8FF9fxTwAgtK9lLfu08d9V76cXC984cc2tZQCVLeww2ObmxGi157Fjg0?= =?us-ascii?Q?1JKBOCY5EeJN8D6CRpnhueSLf4ah9FQmRnQn1KRlh3YkCUaUX2bkTQshIuUn?= =?us-ascii?Q?c7R3Uv0Qj0WiAO6I5PF/z61G3QE8Ny3U+oRmjMNA?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 170a6d0c-90d5-4e54-e945-08daff9c99d6 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2023 12:55:28.9199 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PCcB/kr4SDDvtakr7TqxSFnxHnchKtbZN3+pcr/k/vYTEc1JVH/7MqEyakNTs+57 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6744 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 7B0F84000B X-Stat-Signature: fy3wmw7kj98r5hcok85rs3asn4k58i9k X-HE-Tag: 1674737733-746096 X-HE-Meta: U2FsdGVkX1/EiQx6q5Y/uaJzxchGXcfXXpU54IVfU2Q0eP+xodpTntxB1NUhntqzsOXG+NgQQXWPkQVP6HX8F6cKs1jBrcvNiAj7ciXaMG74g7MZ/2pwPlfZV/lTEb/qzuY6UDIATcZr6AkGq8JDIWtJBQQfVIH7uBqzr31L1qf51d8GK0c2f/0IanXRIv1JpciClZhbyl/JjzmJxAsnbHx4nUCHrH34E2MkdU+z+t22uuOX2GGJTBqdTcGOiZeiMIlqZ+2At3+YjfQ8yA4IK70nVYkZdbUrjXMB4J+KXNCb3cEIK21XPqi7/o2HaKAYml7XL453OP3mJcM8tN8tsl9i/967tMHcMvsQ8Ug2Y+7pD8gmJ5D24i0NvUos05Pj4e0Bw7j9VV5OU6aOht6PKywzqKsq83q2DrIkXeg8iRVbZ58Il2/27EQqIhy4awQ65p8bxv983xcCeupSldIyI4S5YlAfYrVEoS1b/MmdF5r2AiEHjyctmj1JeqJ6vXoHZwUnqUH9ODPLuxOUXS8EkbWkRxxMXBio+8Uq0/7hbhnx1Ho1eQveJlzfjDDtKUIPTiT0+5W+yR50X0/EyeJJUGDbyrXSmbZeDHqVXvrBKbm/BKRH0CT7VmjpmC8m/JBK/DZhiGIIxEPqO/sklKgqzrLItnnjLWiMeph4YfZaARbwTQGlLPwzcJyuePDovXC1PVICOh9bBQ5vk2C9Tn0DtRdLwBxc74cXfSHniINEtKSiJeQO+04Y6sDif/+470+llgx/TCSFDqDWAppE+QFhR8xtfM9ntt/4E+M4v4Zz4o9LN4rfFmtr/Ktl6D0YqVL7fJo+lrDioeUtXEO0X/aWvaTIBjs/T54r9ex42+yj65+JvC1oeNFuJNBViw4SGDxUAvBGogmlXGmz2wWUvuVhQtX3mk6U+GF+5bN3vWjNujZN6vfzSD5ujehM+XTCDkpJm+uy/WCusDgNmVMUPhR xbwQbP1z MPhc9LeOqU0IzGtuNCqYxMgX9pnhQf/6ZO6szAMYcOsy7jw/xj07qgshWWpSzaRPrxkhcZpp57/1Bujyc8Ztj9GuLovsqA1B7DW+eqXShY1fdf5lDNUVA5Y2gYG8+Xpu/PG7ADI8jT1ufGPUKc2qVIY3YaF8w8UM2A7zHDg6DyRjkGeANWb1jbM1LhgfC0yaBRzCJFxCentIzRIotUO2opdqL4jjzSVnl6ZuqqffNtjPmQmUPDC9Ad172m8gMqtAcqjFNZOWasYjwWZ/EyE/M/1Gh4Q== 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: On Thu, Jan 26, 2023 at 01:48:46PM +0100, David Hildenbrand wrote: > On 24.01.23 21:34, Jason Gunthorpe wrote: > > Move the flags that should not/are not used outside gup.c and related into > > mm/internal.h to discourage driver abuse. > > > > To make this more maintainable going forward compact the two FOLL ranges > > with new bit numbers from 0 to 11 and 16 to 21, using shifts so it is > > explict. > > > > Switch to an enum so the whole thing is easier to read. > > Using a __bitwise type would be even better, but that requires quite some > adjustments ... > > The primary leftover for FOLL_GET seems to be follow_page(). IIRC, there is > only one caller that doesn't pass FOLL_GET (s390). We could either add a new > function to "probe" that anything is mapped (IIRC that's the use case), or > simply ref+unref. Is that code even safe as written? I don't really understand how it can safely call lock_page() on something it doesn't have a reference too ? So adding the FOLL_GET and put_page seems like a good idea to me? At a minimum this should get a comment to explain why it is OK. S390 people? int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb) { [..] rc = -ENXIO; page = follow_page(vma, uaddr, FOLL_WRITE); if (IS_ERR_OR_NULL(page)) goto out; lock_page(page); ptep = get_locked_pte(gmap->mm, uaddr, &ptelock); Jason