Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp490530rwr; Wed, 26 Apr 2023 02:07:17 -0700 (PDT) X-Google-Smtp-Source: AKy350bzv7JgNNXA0d7t+lpFQGUFfo+wafb+RPF3d/llzc2/TyO//9xctVwGe0EXQwP4s4Wr9Yd7 X-Received: by 2002:a05:6a21:6d8f:b0:f2:7da5:f27e with SMTP id wl15-20020a056a216d8f00b000f27da5f27emr23356283pzb.21.1682500036728; Wed, 26 Apr 2023 02:07:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682500036; cv=none; d=google.com; s=arc-20160816; b=XKzS8rMdpMQi0vJyUkkRtR5K5acpCmv9Opbsfq4+h3lWW+5sh/x7h5uAq7+XhGwYgU 1P4qH7LIl1q9nGGcTkrNOEJ5eL/mJZro/G4eWEE4bQ8u49GyOWd4ca34Nk9/KzSa6ACJ B3/60OSwlyK4ZfZRqc6ngKcMPWmFIXTCR52OEIDVZHR8guYX4sflUhNYT+1OcTT/VKMb IX2ZwOycz3rZ2rXbUA4AUYBOgtrRBsWV7vejtWKUrh7Uhbp/llG9+ON9qVC0B3kQo3B9 wmusqxcqEIW3T1ATy9xOtWVyeLAFZGfwVrrvgusgvlb2EUImOacOahoymxMLMvGXc1PT ViSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=qRhtGeXRPBB+p4cr9w0INOAc893fzDgBw6gSZ9r4K6o=; b=onNrWulxG6drIIOMXKHe41vzAdu1AqeOZq9jK4MhWDIFWH/9W0iG88nbrLWz9NjvVB 3DkjKZaan1NRZv9IKe+4X5qpmHdKewXDABnt30fKnIG5RwAZfb8GO8ByelSuOeUsqFst Dz3q7uesCoSo2QnGYpBkRpn6l4XszNrwe98QmSETcUF6SCZya0No0p6uv3NvGSWuVT8d i0oft7jJZS43Di17/gVy0n1VNxZNDroaJLS46Bd3LOEyz84ongdOR9Lr7o+yBCGOXJP9 PIPr5XALPY3BkVpibm4OccacLaRYckIEsp0XCpxJrUDMLfRjn+dJeWpBjC867eT3yUyU Omyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="a/75T1GF"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t10-20020a17090abc4a00b0023499c3ddedsi18145655pjv.15.2023.04.26.02.06.58; Wed, 26 Apr 2023 02:07:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="a/75T1GF"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239750AbjDZI6b (ORCPT + 99 others); Wed, 26 Apr 2023 04:58:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58498 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239791AbjDZI63 (ORCPT ); Wed, 26 Apr 2023 04:58:29 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58BCB40C1 for ; Wed, 26 Apr 2023 01:57:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1682499461; h=from:from: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; bh=qRhtGeXRPBB+p4cr9w0INOAc893fzDgBw6gSZ9r4K6o=; b=a/75T1GFpRzl1Z+jnp1c8vfEAAmvoM6nz//Vqf/CpG6jniPqbdbcDSDTkQ0IsvxWHfH802 TEvCS6h+58xDEelPQcT9K8IsRUwNsQBS3D3QFw/zEm6fzmqkb3agAHDE6TYvJs5VmLFyfO FSOIMZPHqjPXd/4sr1rc/lmzSOwRuAo= Received: from mail-lj1-f199.google.com (mail-lj1-f199.google.com [209.85.208.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-594-tcpquT4WMJivaSk5MJC3fQ-1; Wed, 26 Apr 2023 04:57:40 -0400 X-MC-Unique: tcpquT4WMJivaSk5MJC3fQ-1 Received: by mail-lj1-f199.google.com with SMTP id 38308e7fff4ca-2ab26301bc6so8211781fa.2 for ; Wed, 26 Apr 2023 01:57:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682499459; x=1685091459; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qRhtGeXRPBB+p4cr9w0INOAc893fzDgBw6gSZ9r4K6o=; b=KfzjS2dqCiba2WYuCSJiID21gg1vvYBLk0crbiLvsOmZVCf/kSMGGn1IqZRY3v25lm kmaiIO6740UCZi3EUroG/gU2Nm/xKsFuoPMgRYefWF/rwPoJD6LBHNgqE+6u37wYePKA l9fsUMQTgA31kCL7QIpO8FNJzCqoQlMtZgApcg2WCarsRZy6EqpwkRjFk8EEdxXtdBM/ nlP5BDAOrVS8cH69cw/CWBnhLyPiDerKlPqbRypySBjEgOG/roXRxctALc7dQSQkyp8c S2hDjiccdJLhbHFSq5p4SigSIrKurcQmTfeffQ89A4fnVxrzACU74fEj1uJXMQ+mgDs0 zSFg== X-Gm-Message-State: AAQBX9cOZYmGCgdBFGxR6rlJo46/J3dPqP/zH6HA9QLgCCLfE71kAhOh FtqEBy5DfDGMVqCBR6Te8M3CSywFmJtwd7vSTvs1p6vNFAWGZZX/zvXgDDH2BpcLpp9kkAmgyJR 2pOj4A4oTuUINjgjWHnwvlxg= X-Received: by 2002:a2e:6a14:0:b0:29b:d2f1:de9b with SMTP id f20-20020a2e6a14000000b0029bd2f1de9bmr4142430ljc.47.1682499458885; Wed, 26 Apr 2023 01:57:38 -0700 (PDT) X-Received: by 2002:a2e:6a14:0:b0:29b:d2f1:de9b with SMTP id f20-20020a2e6a14000000b0029bd2f1de9bmr4142423ljc.47.1682499458568; Wed, 26 Apr 2023 01:57:38 -0700 (PDT) Received: from [192.168.1.121] (85-23-48-202.bb.dnainternet.fi. [85.23.48.202]) by smtp.gmail.com with ESMTPSA id y4-20020a2e9d44000000b002aa4713b925sm1793633ljj.21.2023.04.26.01.57.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Apr 2023 01:57:37 -0700 (PDT) Message-ID: <3562046e-1625-8536-910c-111d38acc346@redhat.com> Date: Wed, 26 Apr 2023 11:57:36 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v4] mm/gup: disallow GUP writing to file-backed mappings by default Content-Language: en-US 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, Oleg Nesterov , Jason Gunthorpe , John Hubbard , Jan Kara , "Kirill A . Shutemov" , Pavel Begunkov , David Hildenbrand References: <3b92d56f55671a0389252379237703df6e86ea48.1682464032.git.lstoakes@gmail.com> <5ffd7f32-d236-4da4-93f7-c2fe39a6e035@lucifer.local> <831f0d02-7671-97bf-a968-e2e5bf92dfd7@redhat.com> From: =?UTF-8?Q?Mika_Penttil=c3=a4?= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 26.4.2023 11.41, Lorenzo Stoakes wrote: > 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 :) Absolutely didn't mean that way, and thanks for being clear here! > > 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! Yes thanks, think so, at least found myself going thru and wondering what's wrong with the gup code itself, and not the later usage scenario... > > [snip] > --Mika