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 480BEC77B73 for ; Mon, 24 Apr 2023 13:39:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D352E6B0071; Mon, 24 Apr 2023 09:39:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE5096B0074; Mon, 24 Apr 2023 09:39:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B861F6B0075; Mon, 24 Apr 2023 09:39:32 -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 A93D66B0071 for ; Mon, 24 Apr 2023 09:39:32 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 64747A0191 for ; Mon, 24 Apr 2023 13:39:32 +0000 (UTC) X-FDA: 80716391784.29.9AA3EEE Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2042.outbound.protection.outlook.com [40.107.244.42]) by imf23.hostedemail.com (Postfix) with ESMTP id 93CFF140008 for ; Mon, 24 Apr 2023 13:39:29 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qzp4XMYW; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.42 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682343569; 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=YyxIp+QIO3N5kHusUbepTvHzISZiQjWq6k+r2x9HIcU=; b=4B4ptxFspi3SOVQpQBtyoC587p9gYyvRb/3xG12RV9lpRoqfn1f4oW07d6uq5OAmhbvjr7 gDOGCbz+n4w850zV2Oca30gXPrHNl5Teb2yhsQJANw5m9TBQQ4+79D4xSLHJUKuSjslK8p 99MFk1USL/YK9KANRBhp6mMpLdagQkU= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qzp4XMYW; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf23.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.42 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1682343569; a=rsa-sha256; cv=pass; b=64Ubr+qayyM2DwYssFYRum984g8PwiQa87fUz0hAInq9NGQ3i01QX3LFEW8LMUo3XfSf27 Wb4lezbnIVO6t0P1PlA2dgOeRKSgdyY238b9oXqgYZuuMy+xZzFrYoJbO8HATgoiqZv2i1 /6RNMeVCMmpZUpMbNS1rTy0xnh2PfW0= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V22sSCk6X6DsXp5sBCXeWU7nANsAetN+halNW7LleI55KZk96jGIodVmPkVJsJQ1kjkERablOHxALQCi7AchrVCXAR4DHOsNvLZXj+laoe2vkJjveHn/ZVOTXuWeK2v+YOI6TrKRwEd8iI8lVBjXnFHEXtn1EK+uhYf4U4JOs+kyYtSzs4xXNujcjU0GupQ/LYovbEoSQqagfGh40GW+lN8I6CFw7DY8NA8DntzzpTMRaUerq52C/N5isREaqbb+/yy0UOD3Cfax1fZpH3SYal1hZs/w0bcGEoheVa3Tz4J+NtlBF6htEXpmQuqKU3MkrUfqMLlE1sO46Jw8xs0uBw== 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=YyxIp+QIO3N5kHusUbepTvHzISZiQjWq6k+r2x9HIcU=; b=R/uRvB5wSnSsy/2Rzsqp8ZnxKHIDE56lzePNZAU2LxvXedVZBh7syIoMaN8yUQXWoVo18bBXxIgwDGXq9z2vEZfk5g2ESFNv4On4L5sKCa/ZUU98v6KzjWkRIG4J1tAxrm+XfAlepYSJu/kB9jDBkDkjkcKgGQ7SuUWR7tDmzIUqqvr0O7vPSiJBe/U841cOy8xl2z5XKGCV7a1isAg9cKxhfTlQ5I9lhmeUGJ/aN8eSfO/vVlwJscngHIH2ScYQnZ/THsHhjvtunR6vEvXU6Hrz5PKyv4WV58SHQxYb/yu6fzIHYNb06X/ktU27+71vmIJNaOn2ptgYeOrebfIJXA== 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=YyxIp+QIO3N5kHusUbepTvHzISZiQjWq6k+r2x9HIcU=; b=qzp4XMYW5uGc0oFutAFj9TOEqRR1Mo6wHDuMjtDHj9P25kRLczqyROy06BQpQda/4z/Mv2WMGeP4iH/1iA4b82E8Dfdxwn35mDQxYeL4IXF8jbik3wMuF/PCqnfmpBsMqykSueghEsNtaSNKvCREwPdDtvs067nOv7roHBZ/7pdJvMB7QR3xpjxNclrWQV1G1Qi03KYDzxKhVTlL74xGyYhUneD8AxCWubR90v+0MdqHAKizvjMOmCoCa0ANZmInUHj4WuuuqrDalFDCr73ZJX6jRSKeZDHmWzNhsY2OjcF1CyExVXSPyS+CviqLSYsYQ/6W/w1kXTKGS4Y1Az6Ldw== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by DM4PR12MB5230.namprd12.prod.outlook.com (2603:10b6:5:399::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Mon, 24 Apr 2023 13:39:27 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f7a7:a561:87e9:5fab]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f7a7:a561:87e9:5fab%5]) with mapi id 15.20.6319.033; Mon, 24 Apr 2023 13:39:26 +0000 Date: Mon, 24 Apr 2023 10:39:25 -0300 From: Jason Gunthorpe To: Lorenzo Stoakes Cc: Christoph Hellwig , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Jens Axboe , Matthew Wilcox , Dennis Dalessandro , Leon Romanovsky , Christian Benvenuti , Nelson Escobar , Bernard Metzler , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Bjorn Topel , Magnus Karlsson , Maciej Fijalkowski , Jonathan Lemon , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Christian Brauner , Richard Cochran , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , linux-fsdevel@vger.kernel.org, linux-perf-users@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, Oleg Nesterov Subject: Re: [PATCH v2] mm/gup: disallow GUP writing to file-backed mappings by default Message-ID: References: <90a54439-5d30-4711-8a86-eba816782a66@lucifer.local> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MN2PR03CA0022.namprd03.prod.outlook.com (2603:10b6:208:23a::27) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|DM4PR12MB5230:EE_ X-MS-Office365-Filtering-Correlation-Id: 217044ac-5185-4cc1-30a6-08db44c9523d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: e45VGVpI9ybwKK1Yt728iv5O12LcdTcvwQ18xwBnz06qw8WaHVQ0iM8SJwsVvl+0AHT7Eik1aSf3RjBF/tTFG0qhl7ScUNYVeiETDdHYpt60dtQdGswXlApyLUamDOUfUUhvMyLIk7QJ8wpFPtjT6GmRb/xRXbYug86uz6fc9tMNynfbmHEFN6um8kBLDh9nJcZhZXwdBOzr104fZNBU7Otxmnz88GqLoZ7uVodFwuQSbbb/Fzpqzy9sPMgb2roFtxLi8c2XohhpUQK+AeFtDQyCL4TufW/CnPZuh7bo0EIP2pK2ypMKe6Jzo0zJn1NgPFInrH0FDzXnOsaJSaIIziZj0JCXVw6AaHzNbK5YYSDymILJFU6tYc38hlRPhSJkuCvmlmwIplcrjFEkLt/iFsBwEawHbGMGrpRayb5VwmVnXkbLXkJTyOim8YHQDKlSI80zuQdOWBaxXQSHmv8KF8Xieok2P3YXrHJwPbtopc2DI3JkImnHT9cC6L065j+oTv6F+sv+OQGJ6urtSADuc32DkJ0r0QrXMUDKn8Fvd988CNu0A3wbYMr/pPV00zAD 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:(13230028)(4636009)(396003)(376002)(346002)(136003)(39860400002)(366004)(451199021)(2906002)(6486002)(2616005)(6512007)(6506007)(26005)(186003)(66946007)(66556008)(66476007)(8676002)(8936002)(316002)(41300700001)(6916009)(4326008)(478600001)(7406005)(5660300002)(7416002)(54906003)(38100700002)(36756003)(86362001)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TxtktKP6JCDYWQagt/DzfhitGxsKdpAhoJm2esQlVJx+69Nhzqum/qbJlY5o?= =?us-ascii?Q?hlE0HC6ACUaTpYaqbEB7iZeC9DsL6mhCn2FWHBzxv3lr83D0r79DY9WVeypv?= =?us-ascii?Q?nOUX0q5MCYfxRe1wuUJ3l8ox867jHktlZm2kId17Rsra0MrdniPuqUBKpmhq?= =?us-ascii?Q?8aYzqc3dHgcBhI5DXE5fvLRf15xBpdXE2EeMG6MycI/MtSgDx2+BJ/hjUyUx?= =?us-ascii?Q?HXyhonvcxH6UipntpMPDEcv/74vv8A2P7jlazZjb1yi5QAUETD/iKnN0/XwZ?= =?us-ascii?Q?35SKT7JnXo9Fp4cjsrKrwx/64Gz4lyIU98k/Vr9at+Cbeg8y5BTFSycdJJTW?= =?us-ascii?Q?azRaUfXeHUuhSLRnkb+nbjy4YGd+C4FQ1QOAHewKY7N5hPr1K4XSJJH9Q/1N?= =?us-ascii?Q?9J05O2gDntz0umYMrNxbkFv4mgZXUeuekOP11gzHqqs+/wEOrzFzIrtlljdV?= =?us-ascii?Q?6kgNfYk/LmbTkfgUy67FyUEUpkDFF0oIFYBOAa5kajzhM+lHiQEBAySqN1iv?= =?us-ascii?Q?ShRU90jK4XHqykha2gkQY1d/+5wSWDUBwTRNB3ImSJpDBaOjw3p855TeAjXW?= =?us-ascii?Q?Ui+TckQifjJlWw5uRe5giyoUBgK+vryUimZ0QrYyztf/2aT1ILpoA6IKb9HJ?= =?us-ascii?Q?dqDYv/peU1J8rJq3UaN7r1jHqdB6nj7Slb6Ghs4TwEDGDFFISDFl6E2sD7Rv?= =?us-ascii?Q?ZlLYJBbxwAZxQ8TOAbMpUhMT2qKvKzojZ4mFUs6l+7W6VaRCJqUFWYWJ89V4?= =?us-ascii?Q?Qwqro957IbMytDmv1cktFzPDyon7JlKOBpHt3AUSwkFsf+ZxHV8tAKyYS0k/?= =?us-ascii?Q?vYiCCYMeXPkwa5iGJ5iGndCA2YyqJ2HbULKx66h7beB8+pVRFWdGGS3IB0at?= =?us-ascii?Q?qAaX14CeIf2pIkdhAVbyHnXmGqmM9DLIZA7Aq2AzCMwzWo+3JIagPyRzndPV?= =?us-ascii?Q?m+FfiAW67vBsBNrRZgTBh25layBGLkE2szJoFbAyQLm6dSFDNtGTVOitMn/8?= =?us-ascii?Q?8MhveIK6dkoU3i/fVLSljdBf9cNl57pfqz7EGPDG78vYW5KTDY9c3NHc3GEw?= =?us-ascii?Q?n9o315ipfzs82SY2C61Va/FGiGODOtHKP/JDoQ1myB0iclioSsQb1+Bc+VI2?= =?us-ascii?Q?8IUnbn4a8l8QZZd49X76CIaZYdbdHIb5b48IswW/3SykHoe4UjEZ3HVHBszZ?= =?us-ascii?Q?REf/B5utubH9OxfKhAoZPkp/2s0pKN1Gkxov4NNswj075oZ1ed8HgbUXgux/?= =?us-ascii?Q?YjxmDT16K+9YtQZwPkKrIXFMKngQgm2HW7ZRRRPGlEjqnKyoU4Rw3yE+x4BU?= =?us-ascii?Q?vWrCiIy9bnNtifB95h+yWV0lMGBgxcfS2HNXFd2ZSMCr8/d1bEnF/t3FK0qN?= =?us-ascii?Q?eynIe6+wEfKgTWq0hWxrUIomNT1mpmDbOXgWTa8ClqDdo3Nh5ZWede94trBk?= =?us-ascii?Q?zwEQBS086+MtvHSc7LsYJg2dLOb3RLHZXU90uLfDJDm+efxUXZ+NQVj6HStK?= =?us-ascii?Q?bVHMlQrHAg9ClB9b/fWEzUu020a5+XoVt3TEDD9uhZzfTDxWAjcXfQFlaHX7?= =?us-ascii?Q?UkywdOagjoT1GR6WkILrFrL/+SmF9n8pS3UHPp6h?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 217044ac-5185-4cc1-30a6-08db44c9523d X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2023 13:39:26.8143 (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: Mi0UpQtPuS7bSZPOnnluAMXvYlMxCZ+A6ZkvpyXqCKP+MyPL1s9nPvIF1STLRyfQ X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5230 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 93CFF140008 X-Rspam-User: X-Stat-Signature: m3g6wieep8ocr3s46xijt16dzbe83c95 X-HE-Tag: 1682343569-852568 X-HE-Meta: U2FsdGVkX1+g/Q89BbLpqm21lxBt6jV7i/BUjx640H3LMxd6XIEIMesVxoGkhI/HIioBhCLtTWuhV2DWYku/fQ4/QjXxw51jsEt3zQ6fjWCB+lTwnLLZw546wD4k6yykWwg0v7dg0XFE7bb/kioNQ9Kjf4D/MBOBjZp4n8xzKxTcC02NOix4zL5PKSNDXIt7Ge33NDA+tsTO1pD6TpISk07Dn54ve4dyFpfi5hi94EL9SJ03loDb/QEgVLv7WvKQPUYHbpiXEzdc17X660YR/0lTDIscY8+rsF43Cj1ykht9T8eNeHhhnPnT2gqU1IR2jnO2nzRNPERdZSkuL+GdguE1plH7iKnMUa6LxZLPBCAgmnoT4YOdT/MYrvpHOopyxBtI5FlA3yrbjqkoBYYh5fV+8WAQWjldHk/Em3hE2MZlHFBWdB/DHD7IMYo0RyBZ84YMHhm7i4jMB6o3KtRJkpnfEOAoa8eAb2GoBTqnZonML5UZEt9cn5fXbXyw5Jsqs3JbDMi57a5i6wdmgFl7voQ3NGLpMPzIPgvR7NMvfNLJj3z22v9OXpBk0uTByR5V+nd22M9lK2NxdrrKRzk70wMLKL3+UxJxPNNL5GiOKvsfYGD30pQTgcXO2XiFNkX53UVw2dXwvJXskVEEDgCC5PY1tUbhAYWJ7dcYf4OlYXuZ3rVEd5WjLAINE0dYpuORZeMMlB6YY0AOMvtoHuutL073CKohji5tTKClJcumvWJXSEt71rS9tFZefZKbRDadJEeIu2zPTK8YCVpnerodttC9X0ns789pU2tMUp0oJLVJUvyE1cBfdzYLlodr2b3AShoPmDCglGGUdPs2MOpMeWGzRZQJtwD6PXs8T+H/QAnik/6pOLTvKwDRsnF9tW3toDo9vsdjIL+h31bhod0NSDe87UEcImrJRpj432QceIx4ddSxk+qb4ruZrUk0odUTfbZ00Rax2+tC766mSDr U6dtqa2Q 4vgRPLPisrQwlo4KeOsKeuPmuRsv2CRgHPZKjWxCjkgpgPxuvhbIFf0wZcjDDxNJrKhkAVunBX3NA68NA+HAenExRXBppiAYjJCC5oZ+5U23hNIf2oCqErDGqm2dPpO3NWLCkHcRrAEheJAKII+Bq9wklwyz48eeh9E2RdBrUC8MzDndGt4QTW8O84yh5rLGQux2WgIuRsA3nbFblff3+7i8VCWfoZrcJ2zezUZOGWT+R0rnJpentF/GUd6ZuueR4oydxyhaqhrKgEcb5ovAq6fI8gpSVEL6SPNZY 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 Mon, Apr 24, 2023 at 01:38:49PM +0100, Lorenzo Stoakes wrote: > I was being fairly conservative in that list, though we certainly need to > set the flag for /proc/$pid/mem and ptrace to avoid breaking this > functionality (I observed breakpoints breaking without it which obviously > is a no go :). I'm not sure if there's a more general way we could check > for this though? More broadly we should make sure these usages of GUP safe somehow so that it can reliably write to those types of pages without breaking the current FS contract.. I forget exactly, but IIRC, don't you have to hold some kind of page spinlock while writing to the page memory? So, users that do this, or can be fixed to do this, can get file backed pages. It suggests that a flag name is more like FOLL_CALLER_USES_FILE_WRITE_LOCKING > I wouldn't be totally opposed to dropping it for RDMA too, because I > suspect accessing file-backed mappings for that is pretty iffy. > > Do you have a sense of which in the list you feel could be pared back? Anything using FOLL_LONGTERM should not set the flag, GUP should even block the combination. And we need to have in mind that the flag indicates the code is buggy, so if you set it then we should understand how is that caller expected to be fixed. Jason