Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp2298367rwr; Fri, 28 Apr 2023 08:33:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6ZK1gmXzAfNeyMBG67D7ZOtGZOPi14leWUMkrDhDDHvcAUCU2i7oNYs9rrAmSid93z18Ya X-Received: by 2002:a17:90a:d483:b0:247:9faa:92 with SMTP id s3-20020a17090ad48300b002479faa0092mr5638517pju.42.1682696005892; Fri, 28 Apr 2023 08:33:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682696005; cv=none; d=google.com; s=arc-20160816; b=JKyyu8EZiVL+lQXfv4uKQVAZXeek2tuG5IJv4dGIjbKodb2LrAvgexoIiI3FL3RcM7 dkSc7Rzvt0x0LH2mwwUwK4ocLq3fbxUV5nTeT/BRfh1janfBabF+MOWLXyzWv3LLO7AQ JktWwTp7m8S/rxk9ejv92LixXZ6j9IDgwLK8XkifmAZCWp0etU6PgbbLn1vcH49SjQ1i mWnqk9m+2iIhDS//QWLtyrwuKjfTXrpZnN72Zv3EGWRWUhKxvzk6HqcBFl+sDrXbcQi3 bqpTd9lMvidZG+BfcUYDzdqEJ97sJAXFJGD3LQFd7adquMkXAu23c0PUVr5oFOHAxX24 GaTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=O2zx0Pesg+Vyas6wuwmYRVG5JjnsY56E7pVRSXIfHE4=; b=fe/XOroe0CQH/SmsL79yc84Dw9JYdM6G9f8XOJOOVx7YXyQMkrApY/cC6/n27dNMxz xW7r3fIvfeetuZ/q+6uy5AQ43EffW8XsumEiI/y+nPTIPy3BCIthd2u+yis2xovigN/Z buR5q96htxfJqPgFWBHJbiB09IjimYJf78vcDkeLkmWTmIIEFeor/dUkzxXBrQYYohI+ Q0u2wpcXWaEKvOFJ2HAC+hFLqlxOvAZq2HWeBW02kogZ+wloUwBQZPwrnKdK6SoGzpva HyysbkbWHvN9bRHF+rtFqDtWkf6v28dId9X9NMCRP/Bi/Lf7zCtZjnYpiEmqQgVae1TI NNlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=cdp7XfgA; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o7-20020a17090a678700b0024bb5f9b750si2396274pjj.85.2023.04.28.08.33.13; Fri, 28 Apr 2023 08:33:25 -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=@gmail.com header.s=20221208 header.b=cdp7XfgA; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346424AbjD1P1c (ORCPT + 99 others); Fri, 28 Apr 2023 11:27:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346414AbjD1P13 (ORCPT ); Fri, 28 Apr 2023 11:27:29 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A81715FC2; Fri, 28 Apr 2023 08:27:05 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-3f178da21afso68702205e9.1; Fri, 28 Apr 2023 08:27:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682695624; x=1685287624; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=O2zx0Pesg+Vyas6wuwmYRVG5JjnsY56E7pVRSXIfHE4=; b=cdp7XfgABc/7D5mxfnUCjUF0HKES7kslOgk0gehVyS8aZJNmbLfd8aMFSQG2SgfPE0 f4+/JCIBoAnMs628TMkTgL6NQdon+VF2sM5oZdOR7/njJt9HEIk0BLunTR72M7ainHZA +begVfnI9mxJZxl960pRhjm2TgVata9tJhY1fftnl6EIw7qKoJBmLdIliklKbmJ0j2NX HG/xfiwoc5+S0mBpe5ho1I7xHLVq1VdsGCu789DMI2VsFh+le0wQNfATrGg94Z2FXTBV rDOC9YmII3SElQi2zR4vcfSaASYMS6KGlGiqEkeSaV6XbeeXWchGt5CZAygJxgqgMGks hHLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682695624; x=1685287624; h=in-reply-to: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=O2zx0Pesg+Vyas6wuwmYRVG5JjnsY56E7pVRSXIfHE4=; b=RM6JpX1J5C7QoTR2Um0sw7W245tTEIWz2xgxfp2ufmLvFmjtlbyd/+caiO11dSD2ZT ke4nUPZOHTH8KnPcdqQevVrvkle6D6/sNxKpzMz5wg5m92wk+03QdoapZryAcgCtEPip MmTEEgs44JcINJPJcFygK/BzXpqFPJl0MFeInUqac99oi9V7ii7xBY8q1mUZd53guiHS noBSPCvrfVup0La/fU8k0Z+Qk+86y8hi1trYV9eTXBwCmMJUD5UZcnJZ8hzJofnNKzWL CHymihHFUfOGXba/Un0V451mzgBbyClQ8y/l6WlpR6+dPO5O+VySi1y/WEZ+huPZB0rZ CJrQ== X-Gm-Message-State: AC+VfDwKhKURzTliV93CiMbFNuHZMkVs4SEmzFOnr8ihMIn2zSIB30Pd AieisdJIqRF87ZBzx5pqpp4= X-Received: by 2002:a05:600c:21d8:b0:3f1:8af9:55bd with SMTP id x24-20020a05600c21d800b003f18af955bdmr4712888wmj.26.1682695623736; Fri, 28 Apr 2023 08:27:03 -0700 (PDT) Received: from localhost (host86-156-84-164.range86-156.btcentralplus.com. [86.156.84.164]) by smtp.gmail.com with ESMTPSA id gw19-20020a05600c851300b003ef5bb63f13sm18359888wmb.10.2023.04.28.08.27.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Apr 2023 08:27:02 -0700 (PDT) Date: Fri, 28 Apr 2023 16:27:02 +0100 From: Lorenzo Stoakes To: Jens Axboe Cc: David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Jason Gunthorpe , 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 , Mika Penttila , David Howells , Christoph Hellwig Subject: Re: [PATCH v5] mm/gup: disallow GUP writing to file-backed mappings by default Message-ID: References: <6b73e692c2929dc4613af711bdf92e2ec1956a66.1682638385.git.lstoakes@gmail.com> <447d0270-9c0e-23f4-3c62-33c3eff325af@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <447d0270-9c0e-23f4-3c62-33c3eff325af@kernel.dk> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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 Fri, Apr 28, 2023 at 09:15:08AM -0600, Jens Axboe wrote: > On 4/28/23 9:13?AM, David Hildenbrand wrote: > >>> I know, Jason und John will disagree, but I don't think we want to be very > >>> careful with changing the default. > >>> > >>> Sure, we could warn, or convert individual users using a flag (io_uring). > >>> But maybe we should invest more energy on a fix? > >> > >> This is proactively blocking a cleanup (eliminating vmas) that I believe > >> will be useful in moving things forward. I am not against an opt-in option > >> (I have been responding to community feedback in adapting my approach), > >> which is the way I implemented it all the way back then :) > > > > There are alternatives: just use a flag as Jason initially suggested > > and use that in io_uring code. Then, you can also bail out on the > > GUP-fast path as "cannot support it right now, never do GUP-fast". > > Since I've seen this brougth up a few times, what's the issue on the > io_uring side? We already dropped the special vma checking, it's in -git > right. Hence I don't believe there are any special cases left for > io_uring at all, and we certainly don't allow real file backings either, > never have done. The purpose from my perspective is being able to have GUP perform the 'is the file-backed mapping sane to GUP' check rather than you having to open code it. There is nothing special beyond that. Personally I think the best solution is an opt-in FOLL_SAFE_WRITE_FILE flag or such that you call and drop the vma check you have. That way we don't risk breaking anything, the vmas patch series can unblock, and you don't have to have raw mm code in your bit :) > > -- > Jens Axboe >