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 BC865C77B60 for ; Sun, 23 Apr 2023 19:32:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B495E6B0072; Sun, 23 Apr 2023 15:32:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AF9C06B0074; Sun, 23 Apr 2023 15:32:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9735C6B0075; Sun, 23 Apr 2023 15:32:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8943C6B0072 for ; Sun, 23 Apr 2023 15:32:19 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 4D7641C6326 for ; Sun, 23 Apr 2023 19:32:19 +0000 (UTC) X-FDA: 80713651998.20.C98CF87 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2116.outbound.protection.outlook.com [40.107.220.116]) by imf15.hostedemail.com (Postfix) with ESMTP id 73591A0010 for ; Sun, 23 Apr 2023 19:32:16 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=corigine.onmicrosoft.com header.s=selector2-corigine-onmicrosoft-com header.b=L1JbxueJ; spf=pass (imf15.hostedemail.com: domain of simon.horman@corigine.com designates 40.107.220.116 as permitted sender) smtp.mailfrom=simon.horman@corigine.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=corigine.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682278336; 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=sRzijtC3r3OzRdihsIEasZUOnkrBMe3AX/H3bgylpds=; b=hVzVzd2vScVl/3r2WnNPDOFKukKfSmyhBfLg8lHBUfyU89TKpIxTOoToABSqBeaLo0XWZD V3BU6cpHjcXXBBpfAI3SaW05hrxHz5+SPQv8AM4okqJ2I9oc32Xzvt0HKN5g+zi27vduZy FBBSgvHYSeVxS+ODzTGTMmoberxQBuQ= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=corigine.onmicrosoft.com header.s=selector2-corigine-onmicrosoft-com header.b=L1JbxueJ; spf=pass (imf15.hostedemail.com: domain of simon.horman@corigine.com designates 40.107.220.116 as permitted sender) smtp.mailfrom=simon.horman@corigine.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=corigine.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1682278336; a=rsa-sha256; cv=pass; b=C3z4pjGRaRBQdISqVdQQbCvJTfOl+OtJ/rgE5hB0sr9kCWzd37/v0igjGjvKPrl1UhTRJX +53fss4G9L3zD+Te3Yx4WMAcu3llxNg+aCccx70ju3cbQjyC4OxWC/SoNR9/nVFVfhL9X9 Kaiep4afmk1jhrWNqjQZB/iJ6mMhX1Y= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VdrNQfMXW4BnPsgAU36uAVRGEVprou6dT/7+YmD7qMAxEnZmKtmI8674Wa8mBuqstHrBGKSrO2Q/a3LpYfCKmEE9NsbXJO8qg8xbQWv0/DA7oxnsuICG0mKPSA4yinZXqK7MgXSUNJvzpTnzl+GAyYwye8ohQlixS1Jcy3ROiT7kiLWceD4M7iiv5YmIUMil397C4mbm3m9r1tmpDVDTSCOjnjRkpTzE/DqxCMc3dOVUEg7LrdKEg+NT5FJEF1u1J8szECUrq4h9OsetOo+79JwsWYUtfQ8v7OPEZJGrFOa8C68s16Jz92hfG19ptDBFNbl4MefJKfqGOiKCWkOMSQ== 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=sRzijtC3r3OzRdihsIEasZUOnkrBMe3AX/H3bgylpds=; b=fP7DVpQErGBk/sKyjegyyA7UdxUK1007ND5zRUOj/0lluS8P4caSpWkVhsPmEdUMIKenFirdSCGceVQCu54esXrPc0JbHfz9LbMHbtzJTi3FxGsfrDR0lWZ6MQNAUMa8J67N0pJBzuGjhz0IrLvTv0QojJFRmaIsGSdewr6zNLnt3g17yYF9oozz5AZzFiPWpCNKtcHkRSuNJsWA6PnW/1K/Pa54lziXWoJ1X92jke+Oasp/xQcpg/nB2XiAg3zBry42/4wkzXsR8FrIAkhOiPUCjOkmGDW+39inZPd8xQehalJ3G9FmDP1ap2J4tM3kMs6jqIFXwRSCvdpfT26sIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sRzijtC3r3OzRdihsIEasZUOnkrBMe3AX/H3bgylpds=; b=L1JbxueJWtb7mA3YIouSAblWKIFujkmLty+fLA9tXr4cnPvK6tfH2tEPE1oJKMsYMce/ClEeLMcU7/KfU+A7SG8eDFBQc24VQ+2xja4fWZMbg61Ba9gS2ZKtRyDUMN7tc5lQ7UrG+FdqMsZGmtu4h54TcHYYoY1rjRP6H/BWfLc= Received: from PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) by BN0PR13MB5167.namprd13.prod.outlook.com (2603:10b6:408:152::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Sun, 23 Apr 2023 19:32:13 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::f416:544d:18b7:bb34]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::f416:544d:18b7:bb34%5]) with mapi id 15.20.6319.033; Sun, 23 Apr 2023 19:32:12 +0000 Date: Sun, 23 Apr 2023 21:32:01 +0200 From: Simon Horman To: Lorenzo Stoakes Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Jason Gunthorpe , 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 Subject: Re: [PATCH] mm/gup: disallow GUP writing to file-backed mappings by default Message-ID: References: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: AM0PR04CA0054.eurprd04.prod.outlook.com (2603:10a6:208:1::31) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB4842:EE_|BN0PR13MB5167:EE_ X-MS-Office365-Filtering-Correlation-Id: fa9b4082-ee29-4fc5-1889-08db44316fdd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XzWs/2NUR1TtAefCnHvOBHeTRqcNSC6OnsJ2bEoGkSFoBIhsUToo1VVw2+IPtKvV5jEfk3HBahaXEYf02TVGBjhdaj4e5DEEnNfVW9cZ2z6q73kGm9eYlBVuZWlGYikPIA4iFKlSc33X0424KTu69lYQ0Y6+5+Hj1o03iBJspy+3dgV06slw2uFe0xNpkhXtxFaRPHStwjyXeCErOvctMYtWMGQmiWGL+BwCrCHygucXCg55CdAIafOz2FFcZ7Bt2ycgumXY3FzND7DxOLG7lcZNvHc00rXpuxkCF2/vbKQx86bclIedi2Wd3P4eKwf8CSEDfflBQuu2zJt4pqqd2HN5nBKASv6eKrpDB26IL8w6m1yo75Wp9Y+iaDYlFFoxxqtUSL9rfjzfKhPcGQIqPhpX01Szm1BBZwhS1kLDkMfwpn/DW3qjuqyT721J05CPjPN4z0xdpMJayohcpkNdbmqPMpxHpFrZdMtaMknYqyo/E4n/MhDr3SrdRo9VogLvBhFbJXtL4c5vPUGmvAH+U6j7dqQ2ZymHLPrGp72gpRKCOVQ0/cR4itQXX4NKfxe+ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR13MB4842.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(346002)(136003)(39840400004)(366004)(451199021)(2906002)(6486002)(2616005)(6666004)(6512007)(6506007)(186003)(66946007)(66556008)(66476007)(8676002)(8936002)(316002)(41300700001)(6916009)(4326008)(478600001)(44832011)(7406005)(5660300002)(7416002)(54906003)(38100700002)(36756003)(86362001)(83380400001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?soUJBCApcfQiwe2/wueHCc+O3gLCqZ5gZHGeFPDXIY38IsF7qEnMq7Ojs4dL?= =?us-ascii?Q?eoO/U4r95pOCClO5ZeLkdvlz/85ZoY/UvJPSafyyzbnytcrr+YjG6HEgjDup?= =?us-ascii?Q?Xwc4+rAtFSXQ9eMfFJFNUo04PkF5Qawhej+V9OMEZPMX7L4Bpgj4sFPKcfTJ?= =?us-ascii?Q?k75HNGJJq2xAbY3jCU75YNvrJwulGjZAvj2kO1kjrtpkXbHGYFiZBaijRNGK?= =?us-ascii?Q?HODiG/O+Nvd5Y5bf7qnCs2/V1hnRyBnwn/C6GDLxl5n7N9tLEN8HhLs60896?= =?us-ascii?Q?GEnxQSymou6uc/0PK23+9qdCq33RuDHb39uazAi5nkjLJict9Q+1W+NP+gOA?= =?us-ascii?Q?Tdpsp/5K4GgQ5Cg0+vYgHHz4cpRFd+TEPC1OiGD6jBbtyDX8UCPgEt5rX7r8?= =?us-ascii?Q?0GqPRg0v/CrNaKgm0gmqO8x1vcTXekZa6kTBmf8qBzsmnvZjPNM1W9FCJEbE?= =?us-ascii?Q?EteMIFuCkDYdAM2joWfBdccgho+hTKGI93oRWPa+NcTRQY/I58XTHkUHps3t?= =?us-ascii?Q?ygggRz+nGwsMqhC4O6CcKMeoU1MfoPl1gKp0M2Y9ZhOBV6+opu0Bde7YFHD4?= =?us-ascii?Q?fNiWR/dIZAQjXwoJsamAL8x6DL69SfAmVW3yYydzpyb09Tj3xLsmwdt4LkeX?= =?us-ascii?Q?3YRH72O0cx/OdU0CWaR4BQa+h8rSzlG32DvmTyPJfZwplrcu9e8jYYzgGyGY?= =?us-ascii?Q?gynnQpiFQUQ0Eo1PcDvzlKaH5W/SDqr8fUF6wlkFt3KdXAXJFcla+o2gT7gV?= =?us-ascii?Q?sIH0ld2kRYCIkRO6VymTOwel/m+Ion39Ww4/jFE0ZqWfdie2Lh7ZL8Rog3W2?= =?us-ascii?Q?iExAeCJB6YlCF4sCdj97wewK8lSrbTp1kWfdcG5qfSvUq/5Bnvvfuw0xhB2I?= =?us-ascii?Q?b28hz+RylVKxD0KV7WwxRpk0KVcVub2sTLcRgdRvX3llRKhI3x4ELLiXOmvm?= =?us-ascii?Q?2UG3amCn24f11vTzDJiTxNgJdw8mUPWXZ3QBrzmOERH57oAr2htbo3grkBgJ?= =?us-ascii?Q?g6MGHg2oWbgp5dYZm7/ru4Hm3Z9+5FnOjnN+aTYdK4edI54+pdF6/yaDJAmU?= =?us-ascii?Q?mPvsOZ0TNZyjOBjBOn4ZBXxjUel12AqmQI5D0KP818va0wRd5RfHYnSUMbyu?= =?us-ascii?Q?qVk5o8Wj8yQm6r38JfjYJbO9tITnO8AHXginx64y6nKf6FSCRFbRex9d22V8?= =?us-ascii?Q?j7gilFUc6v6bwjfrn1IqCQ3/NApDbjFru/KrakA+BkElc2JH2FJy1NZuxkap?= =?us-ascii?Q?oTrve9FZWLqEcZ14Jdv2JxIqDKVXdH+OJ+562xbfCwUN8mko27QP9Qz4SDWH?= =?us-ascii?Q?kQIb3cQnaMPcOFPZuLQVo/1IABm/iU6GQw4+vCi+So8zJDqKiT03eTrE9Lyh?= =?us-ascii?Q?junML99Dyoei+ZBN3KH/tVGneN4BodK17cLLJWoQ25RDXwEGIGlnpr3qCbCO?= =?us-ascii?Q?7yqJVhXU/qH7MwlAa7HFFCg8XbLRJR/2rNwJYMV4VcriJaMUxQ7p2Xqh3yyb?= =?us-ascii?Q?UOce6UXTfEzhJoxNfrE+WEht12hiSkAOrE83qFnKgxpXPLR+nA+6Zrcxa7Jw?= =?us-ascii?Q?nQ/2pXagGtZRbk8vMW6a3qKyBPQg+nm5mth4z+ZZod02G957v746gNfZpry8?= =?us-ascii?Q?1+LpMMCMmgJSUp1NTD2tN8BmH3kTxt07P+BSg+8FDPKZMsyQfjp31mqc3Eg/?= =?us-ascii?Q?41Xkxw=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa9b4082-ee29-4fc5-1889-08db44316fdd X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB4842.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2023 19:32:12.6120 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +OuMxX14iuVMZDcdKLA6Yvyg2x4IqIEeKuBn7df6TpANh9Mmtb/5WPFX4EwIujMoafFJLY2Xf5Nzwj3agMXe7fk1taHjN+UqBIjpOn1ZiRI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR13MB5167 X-Stat-Signature: cdmrrs8azigm88fy1zekztojuc53uj5x X-Rspam-User: X-Rspamd-Queue-Id: 73591A0010 X-Rspamd-Server: rspam06 X-HE-Tag: 1682278336-576656 X-HE-Meta: U2FsdGVkX19FWHHaOBrpJZMk6NI1qBRshOHkDspen+qEcp12hmS+jepsyIW5u6iTyA+FGhxifOE5oCgv1hq/fa/4MX2ZwcodzcdtHHXzdhNq4wxFDUXx1QW3RgqcI/jGZ1G0PKVsr0WQSaKmNOhwqcBfNbtV55saMA5TPRzD2/GIoyWWCliF0hpCxn8qMKMGw3SItUIqnV1ybf2Q3V9EMKZZ6vUwpWGI4rt4FoA2VgFLN41wSc7bwRfVy7FjDzvN+tO5JdKMz80Po8vtMfCu7yAHRWc13TTDQtIZAxej0Y05sh+Y4uQmkEw2uzH84fbZXOwEFBxEM5cfx/fJfjM4zR3pgAbGf2KSLT0DaD/K3iO7yiPtgSBpqMUtg6i/IsAZPKGJUt8gDV0iAcjvaJal9x0VjhEbX3AwpY628rnF7FP/oogeKJROx7yknm0ElLD5afC3WNljXvALM/frgoVYq+1Iwx4w6nRqQfNRftJCEiMbHwyGHX1xzNDq7TuwQ90bakOS2OgFQd8j55tz/fek7ZEOi8jcHn77OF0ydWsO9YNkxmDEeAHB8dqtDw4aWCmyJYH6WD++pxEsWsTKhoJWynHo8Md6xPIkZ69X7M85KaK8+dkeNulWHVjMvbIaygJfAEF8rtZoGnfVpi820iiot+B8nh9/CB03/WqKNwiRdrGwYBuk9ULHFDsy3W51DUX9WL3JJmG7Wa6ehRAieGh1n6foEpk66tNkLv21eLcP2iAJr5ucNQX82+auPTbR9ki5+EQzSDnRn/Pph6OFg8Aca3onwcveix1gTkrEFKuDzR3ioF8067zDAVCfeYMaEyCz9VENpwRbMFjznKSRQjTN0bXSW94Lgs1Gk+wkJd3mW4bCyLIFYcV3nAh6j8DWJc/pAdMV8Wyy5QiFfelmgNVzrj02W4ZiB4gjFxqQDyzFjmNqD4rX866JhTtcaV3czFAlISYWZxQ0sjX1kTyvt6S reGAukD0 erIfGjxC7thYtfXhoXY2O+HflwnWeCrzeqJgFrJM3cHWEzjPfQX7uyPnf7UkxfM+PW65E+s1YUTWgGL4jfM13oPQXoU1YPBsAak3SsYm7Q1uxbb+f39LpLs/DXDC2oHFSy6Ie+JErJnXMS/NTK+r45d1AM+Y5r9nTnmO90fjb7vcOLiU6ZFYarYlDuPBUH7fpwCFOwXNkZYv5rNMNq+JvljtvTeBa2QL+B09lqKc0kYtGM0dhN6bH6ZLulbxPQzC8CqOtJ4T4IpfnEctTacEWfYsNsTnFWVkcLts3ncd2BntAzK1CNdt1eP301/wr9tlxhlwT1okjkWFf+ZLQRBGZtK24wUzMrDPr1jF9 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 Sat, Apr 22, 2023 at 02:37:05PM +0100, Lorenzo Stoakes wrote: > It isn't safe to write to file-backed mappings as GUP does not ensure that > the semantics associated with such a write are performed correctly, for > instance filesystems which rely upon write-notify will not be correctly > notified. > > There are exceptions to this - shmem and hugetlb mappings are (in effect) > anonymous mappings by other names so we do permit this operation in these > cases. > > In addition, if no pinning takes place (neither FOLL_GET nor FOLL_PIN is > specified and neither flags gets implicitly set) then no writing can occur > so we do not perform the check in this instance. > > This is an important exception, as populate_vma_page_range() invokes > __get_user_pages() in this way (and thus so does __mm_populate(), used by > MAP_POPULATE mmap() and mlock() invocations). > > There are GUP users within the kernel that do nevertheless rely upon this > behaviour, so we introduce the FOLL_ALLOW_BROKEN_FILE_MAPPING flag to > explicitly permit this kind of GUP access. > > This is required in order to not break userspace in instances where the > uAPI might permit file-mapped addresses - a number of RDMA users require > this for instance, as do the process_vm_[read/write]v() system calls, > /proc/$pid/mem, ptrace and SDT uprobes. Each of these callers have been > updated to use this flag. > > Making this change is an important step towards a more reliable GUP, and > explicitly indicates which callers might encouter issues moving forward. nit: s/encouter/encounter/