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 7F90AC7618E for ; Wed, 26 Apr 2023 08:41:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A307C6B00A5; Wed, 26 Apr 2023 04:41:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E0FC6B00A6; Wed, 26 Apr 2023 04:41:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 859D86B00A7; Wed, 26 Apr 2023 04:41:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 72E816B00A5 for ; Wed, 26 Apr 2023 04:41:57 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3F5C71C66FF for ; Wed, 26 Apr 2023 08:41:57 +0000 (UTC) X-FDA: 80722899474.25.8D5A4CB Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf14.hostedemail.com (Postfix) with ESMTP id 56C0E10000F for ; Wed, 26 Apr 2023 08:41:55 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=n9wa3FOC; spf=pass (imf14.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682498515; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ArnfC+A36KVaoJFRoRkLOWAFxiyb01QcwAzoyNZQfrk=; b=KR3uykRI07yPzcxalbYUu1JdpkKv1VbWqh6a1gKwU8VPk/N3mt8XzZdphvTfL+opWNOjLb 83/GPymjEcEAB0Fbc6geqDg0GaU+TR3KpuWMMGp9TR0qMtvy0tSl5FcBA3GSJs/oFNAEkj 1suhLJAlzN1D62V2JYscsajHW+1sZ5I= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1682498515; a=rsa-sha256; cv=none; b=uqkXGuHKoL9GvJmDAQa4uq+cNoBnEWjGV1Yk5YuSNV1A0wfmFJVtUyZWgoTKHGbJLTX5Tz lnBnLMwIvEz1CsI0BTxToJwN2IVJN5ZccH7j1oBss0ikAhvRahaHbX52WrZWLuZeTaA9aq ZY9OFfUfI05aFykvWBbiaDpDi+jp1wY= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=n9wa3FOC; spf=pass (imf14.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f1728c2a57so70672315e9.0 for ; Wed, 26 Apr 2023 01:41:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682498514; x=1685090514; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=ArnfC+A36KVaoJFRoRkLOWAFxiyb01QcwAzoyNZQfrk=; b=n9wa3FOCIYkEV0LwxjD7q+MJsqrZ/xLRGpZrfpm1L41Qr0+7o4/6/ZYD3BlbEcftEO TWzgVeMf+XcQ9HsFH1vuDYssuU38PJbkjpIsGzwFEbwFCxKe2ZxojqC72bKxomHDmIz1 ay801JAtzkZglQqSXez+EB2JvaC/I7cUlvzIIvgZSWJZs9weW1ABvcyD5u63Q7mIkki6 NRPaCiSqUjxrZoe54A9PXGWESh3VCD77XzFDvAwQdpuwjTppXlqu1YvSuLi/m5BtM6YY xlJl3a4CxRtLkhLlWSNRXKvWu1vgt+ugy9vY0Wy2ASvgNice9SZVxwotBJabFXuk4qjl bI5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682498514; x=1685090514; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ArnfC+A36KVaoJFRoRkLOWAFxiyb01QcwAzoyNZQfrk=; b=JbyKmFkFxv1mJb0ZZM2/JK98XLgbA2Ucdco7cwHw869vKCoI+9g0pIPOonCGrgmzNs epD7i5YsrtonLWs1QrVUmoeGjihp7W8P/DAZYZ+CRPt+pz7xoUb5UWg6+0tVsn+v882s JbSGfgCAfHZ7RA+Wbec9OedugpmgEaa6j3POg/1ad/yLaJwrsPPrX+idWgPzt8r/dgDa i8CEDAYCqi3oXiNMfvFlpauXhMOX/LyTvEYayf09uV2PWkiFvyeTYdRajDQf0c9JiIeX InGOLHFjz56phf+IdeJ3sGqFUsoPb9SkJTl8V/OuEO85eXr/hoUDLhYoW2/KWgK4E65G MJBw== X-Gm-Message-State: AAQBX9dHudlvIcUonmqHk98c54Vp685IbUYNEQYbHGCzcNmmDt/8YD/H f29skapcHaUgigLWwB42r4U= X-Google-Smtp-Source: AKy350Z5NR02Z8oNrVzXCbdERtnNyDO/QN/D6Phr2ymfd0ldQFATBh9gLJnkGVzoLJVNHjNxs5dl8A== X-Received: by 2002:a05:600c:2201:b0:3f1:806d:33ad with SMTP id z1-20020a05600c220100b003f1806d33admr11101118wml.6.1682498513622; Wed, 26 Apr 2023 01:41:53 -0700 (PDT) Received: from localhost (ip-185-104-136-48.ptr.icomera.net. [185.104.136.48]) by smtp.gmail.com with ESMTPSA id t13-20020a7bc3cd000000b003f173c566b5sm17344264wmj.5.2023.04.26.01.41.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 01:41:52 -0700 (PDT) Date: Wed, 26 Apr 2023 09:41:51 +0100 From: Lorenzo Stoakes To: Mika =?iso-8859-1?Q?Penttil=E4?= 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, Oleg Nesterov , Jason Gunthorpe , John Hubbard , Jan Kara , "Kirill A . Shutemov" , Pavel Begunkov , David Hildenbrand Subject: Re: [PATCH v4] mm/gup: disallow GUP writing to file-backed mappings by default Message-ID: References: <3b92d56f55671a0389252379237703df6e86ea48.1682464032.git.lstoakes@gmail.com> <5ffd7f32-d236-4da4-93f7-c2fe39a6e035@lucifer.local> <831f0d02-7671-97bf-a968-e2e5bf92dfd7@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <831f0d02-7671-97bf-a968-e2e5bf92dfd7@redhat.com> X-Rspam-User: X-Rspamd-Queue-Id: 56C0E10000F X-Rspamd-Server: rspam09 X-Stat-Signature: pc7oqc18wo1t8ordrqw36hb5tyh1yppa X-HE-Tag: 1682498515-458656 X-HE-Meta: U2FsdGVkX1+LBSdliTJIDaFWvjp/rN8uHzVm3WWqHFzmQrG9j8aRygz1uUgfwyzfLa0SD8BEPqZ7WD/SSNy+O8+uhMA8uAm0ZE17sksXag0ihz5CorGKCAOvcaquzf9wu9EmU92InA48rhOelDTJFrXVlPd35ztW7P5NJ6XBDaxjL0msNsE8TwsVLp2A9/rr+R0dMDzlW7VFM2hL5OHnuEqyD5VUW/lO91/UHvpk7IFx3bid1GywSdg1zKeGtLnfLFWkdW8g93NVveeg2cGpAQW+yi6mxk845TIYjIFvv387GfWLjE1R0vvhHneuMfQFBPbtsQDU/ciBWrj57OFfwqSLrpwsNHV5wt+1OGC0nMNJ14PcmURimK3YX46BOsurWAxOyS4QBky8ucxEIF6abvnv1IoIvxa0EMqkGO8IQTgVbA/q99ZLz2PDcql0UuRNhRhZEa4NSQbTYHttOBsjzJCL58UHa89eYlgXYfIRYulW4IcqssEGJU8VTFe5sMPsE/nE6rE4qBvUo5N3BvFaM9nTlmb4EBYbXdsgvWV/3TjCz1NzckQjFUOquZMQzlmD6ezNKchiHPuMT3gl2I9EY9jgdX3o+PHAv+PeNBEbnMDP+ZEsdVeuYJl1sYDHos5lbK3Mrj0ABsG6+q3BU/Ld9R/GLmyG9Q4pPHgFRid139QFQOCjm/Y1gCTBhTazq7jmb87kVR0yyqJ8eZnZi4zG+fOq3/1ub6ha/ElASNfGjlXquz8UEb2f48AwGHin/t2NVaMf4YD9fiOk6QNgyO7aZzKmFtThQo9xkKTnsjcxobKzq0Pub0jzw9Bxop8cpqpoYDnzLzCkGd+QQMf/rT1F5w1+pnnwLw2t6ifnlbMfP6mQevfWgGs+djF9E4dRmhqPEXRTMbN+IfGJdVL70jFVVd0/dj4sycD2At7RtzyiqHXFJlsaR6NlvkQuIYWK+vOVOTVKwzBLYm8CIQOSe1S Zt7LlpHj XfmepwfxZuDxDxFW56HFttyX+8ezJH/J4EXGEoQUIfp6KJ7Nld1hUu4+xGN4Us4rgWjjoOBfnqr7cRvg3cZhGxPwpSPr8vx6bA5F19/gxsmOVupWwVc4O3wg5qUyos5P9p/9UaKvTqUn3cYwp8KmxFs342JYE8Q0guCVbC5G0MJx9ouU4pTTFsuOWAgBjtacEHnO+tT/MaPl+dzZwE8O6fKV328CGdWj2Hr4M8QmaXB9s3/mwG7HMpRdZpJTnzwcG8h0Q3rOcVeSgn4vEWRGPZ+5aA58s+izqwx89nNGQdj0CspGgB6v0S/mOtgf5akDUkG2VZIkrJmU8EvUQGc1jCFwKaUS0/2PnCHkVrdErL+FFcnk/talVuP1TyBWT8sqqz6QgQGi6h7R/b6Khn24BbHK4ZdkG+R94jmnPYvyBnEgTRoTvVAJ31q7dGlx35NydLVbmhgKN9BZr6ZUZTQqWodt+3CkFBG3/BHLhhMU1WBTYRZZvfBgQtNynog== 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 Wed, Apr 26, 2023 at 10:30:03AM +0300, Mika Penttilä wrote: [snip] > > The issue is how dirtying works. Typically for a dirty-tracking mapping the > > kernel makes the mapping read-only, then when a write fault occurs, > > writenotify is called and the folio is marked dirty. This way the file > > system knows which files to writeback, then after writeback it 'cleans' > > them, restoring the read-only mapping and relying on the NEXT write marking > > write notifying and marking the folio dirty again. > > > > I know how the dirty tracking works :). And gup itself actually triggers the > _first_ fault on a read only pte. I'm sure you don't mean to, but this comes off as sarcastic, 'I know how X works :)' is not a helpful comment. However, equally apologies if I seemed patronising, not intentional, I am just trying to be as clear as possible, which always risks sounding that way :) Regardless, this is a very good point! I think I was a little too implicit in the whole 'at any time the kernel chooses to write to this writenotify won't happen', and you are absolutely right in that we are not clear enough about that. > > So the problem is accessing the page after that, somewehere in future. I > think this is something you should write on the description. Because, > technically, GUP itself works and does invoke the write notify. So the > misleading part is you say in the description it doesn't. While you mean a > later write, from a driver or such, doesn't. > Ack, agreed this would be a useful improvement. Will fix on next spin! [snip]