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 A5252C0218F for ; Sun, 2 Feb 2025 07:46:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C476D6B007B; Sun, 2 Feb 2025 02:46:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BF77D6B0083; Sun, 2 Feb 2025 02:46:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ABEB86B0085; Sun, 2 Feb 2025 02:46:36 -0500 (EST) 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 8F38B6B007B for ; Sun, 2 Feb 2025 02:46:36 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1ECDC81DE6 for ; Sun, 2 Feb 2025 07:46:36 +0000 (UTC) X-FDA: 83074222392.10.1AAD3EB Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by imf28.hostedemail.com (Postfix) with ESMTP id 3D1D3C0002 for ; Sun, 2 Feb 2025 07:46:34 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LgyjubtF; spf=pass (imf28.hostedemail.com: domain of amir73il@gmail.com designates 209.85.208.51 as permitted sender) smtp.mailfrom=amir73il@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=1738482394; 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=dkf3AnYzxtjJolWV6YY/aOb67PW9FbaNoOwrFtKSVa0=; b=VKN3n4/rVbLpuM8r9n3+TuzBuYwPaKmKwMRLHVUIo1YlZUDsnxLD7YLRDQBkKB5rkJmFMN vwqXitXBqken/jKtmA/1MCeLoqdM8lbgJCuRHJZAVLlpr3760Vjs+7ZHd71eO8r1Zib3vp M/q9Z4mNIss2M4nKhSoEhfYvGm9uwNE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738482394; a=rsa-sha256; cv=none; b=bT2oCvicEUWnqXbiXdxdVfGsG36hoMVlspHLQYLzfjl6funP2Xy/dCt8mvpHoykJFhoYMm hHi4IlmepAL2NelYK9bigPcCU0eHbgXPx+qFz2LYW4f4CXCRwTGvgxRBPSxzg+dNHZrRjP n9jXWq3sa47/eWzQceUVKjrZQ4lqj0w= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LgyjubtF; spf=pass (imf28.hostedemail.com: domain of amir73il@gmail.com designates 209.85.208.51 as permitted sender) smtp.mailfrom=amir73il@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5d0d32cd31aso4761147a12.0 for ; Sat, 01 Feb 2025 23:46:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738482392; x=1739087192; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dkf3AnYzxtjJolWV6YY/aOb67PW9FbaNoOwrFtKSVa0=; b=LgyjubtFrfebtHiHnJt3EAvjpWw38fVPEdvGSH68CS07M4O6YqJz/wOe0OvcnkaByc K5mLo37dXkTqJyBRDiEArWfFSvQi6lrFZsfjeZGUoLbXHyBSNCLim1gpVJ0Yf03t/81g dQ1LMHkR2N6oYbbTIUMgEFa55dblWeqsnC4xTzX/U6R5vaZal/op1NuaKYBH50J56Fu+ 9kAlLCqJyK/E+qoKxkMtB+K7Pu3GaUhxbZvFgEP8GEzvlXSD2GCRbwVM90WE5XqA3wYO kE/NgjADdxLiUsVxM7BPtgHSGqfUdnFPE1Dl7644FQGHMGd586XqBz7D5NEKC844tADA LOrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738482392; x=1739087192; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dkf3AnYzxtjJolWV6YY/aOb67PW9FbaNoOwrFtKSVa0=; b=vfsmtYZ7Ul5BtUfmNaHL4lbj4rJnjTe9yP2AvhyKDuJeXBzYBmYQ3rSEOD4u67EoNR esudYejohrD0DfzS8w5YRZA8hEPFfsSsID+Pizra9GwvVYtKHu2IRiyx8gAsxgWzDKL7 YOuCasRP3X0QmmZ8bcOpTcNyL0xw464qqapBld5RvLjjni+VEJLnmirH3tmIPV0imPCs Zggsa9lqi09hw86YaPgsEez959wxbNLEX2UwhYjdpLhndFFIUXt32A9PP3ngaOL9a55n mFtWZ8ZzC2ziWx9bYN7YALSd2DCAnAulD5K16TDPohxOwk0gDPA4JYDu5Tt/rdsi0NMK EkNQ== X-Forwarded-Encrypted: i=1; AJvYcCWhioXnfdqiPHojlxKmVg9qYQVygKK9MsTUOu0H2vvFYcjN3ovX1rKSkRElsFig1+9D7Ba2y3fXxA==@kvack.org X-Gm-Message-State: AOJu0YxtvK5CwQFuHxTLIGdMrHUsGRRnAlaF8nprD/I8lSxRRaFa2OA5 /wcc6GzUdzjPFVXhCjoAhkVHKsmMe/jMFQTTTs2USkI8bO7uRFk4VU6GZx56UwgACogC71oNZ6H 8P/I19EFBHfZLVB6ZC3bfnCpdGV4= X-Gm-Gg: ASbGncsfv53qVCOphC3OZzgfaNFBChLWCfJ0TxCagzZsPfOs9Tz1B4xnRAD7bpSEtju pmfTL9oPe3O6NyLBPylsSJ0JTOU5YFSZv15AgRbIrKr8YcSLeT0vuq30GlPkiXY8PC96jLGc/ X-Google-Smtp-Source: AGHT+IE25ioY+88Ad0dzyJ05zZTY4tUCHqGHqVeBxZbL7pLFQn1rxv9eQSShAxQEMVL/CmIeX9bb7tDeZctmbYTQTWc= X-Received: by 2002:a05:6402:274e:b0:5d0:9054:b119 with SMTP id 4fb4d7f45d1cf-5dc5efec007mr41206927a12.21.1738482392164; Sat, 01 Feb 2025 23:46:32 -0800 (PST) MIME-Version: 1.0 References: <9035b82cff08a3801cef3d06bbf2778b2e5a4dba.1731684329.git.josef@toxicpanda.com> <20250131121703.1e4d00a7.alex.williamson@redhat.com> <20250201-legehennen-klopfen-2ab140dc0422@brauner> In-Reply-To: From: Amir Goldstein Date: Sun, 2 Feb 2025 08:46:21 +0100 X-Gm-Features: AWEUYZnttHbNcopdkTaXe70ba9wJmxOXrUavrKaCPbqgXlhsWsN9pWLAIjMYcbA Message-ID: Subject: Re: [REGRESSION] Re: [PATCH v8 15/19] mm: don't allow huge faults for files with pre content watches To: Linus Torvalds Cc: Christian Brauner , Peter Xu , Alex Williamson , Josef Bacik , kernel-team@fb.com, linux-fsdevel@vger.kernel.org, jack@suse.cz, viro@zeniv.linux.org.uk, linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-mm@kvack.org, linux-ext4@vger.kernel.org, "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: soiume8517yjorsf8cbs9jgjfzt68cga X-Rspamd-Queue-Id: 3D1D3C0002 X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1738482394-580786 X-HE-Meta: U2FsdGVkX1+DDr+R14Kc529utOUcdqEPxo0FS95U6cIvR6qgd1vugCtuMVXWZTbn12o/5K0uOXZtFGvlkMyBz5swMdft0REtLsQjlYI/YWHuGXvPr2xuNhvYQ+qc270t0oGtbM9mzEmv2Yo9+thsdV+hbnlZjVHXngk7BUQ/9AYI7fRCWpNDavcJCmF5ZP56yedQO+5sfsBmV9mJJ4nEVdG1NvAtyfdUNa1Xo0vQte0eOBlMHBA4hDsZv4rZXuHr1VobHirAN7tZB0nrpAiii0xsdqSJBasREkf+QKrFSazOCnsNrQLXx3EYpD+alLAhktebKQhRj15T+rPaVEf7CbqQYsp9ZdOMKZEdynclmg1SYdVeE7VWZWhRnlm/kr6xescHkY/93q2RsEhm75urNoTxv4t6OVAvl3DMCzJvOzJn4przYZEQEXIF0bKkzhsgb9yvjBgtrXOSDsalvOhBldnoho+CM+OkWWweTiKDr5IK4vjUjnUk2G1tRELxkPsmXab3gpFkiFtNe27Tw3Q4UH2iZSn7yv1ch8X10imf8E8WZCPocvrJCMqU20gvMsZthPzxYKa7cdJ271UXvINe7IhMRGCSTr+spwYpREMcLX5VfX+DwdiKjwZCgRwoAlM8ebqPkg4nneLBQk+G+bEYgprHC+5oGx6/Zn3A2bOrFe9/1zGKMdE+qfhHOYD8iu76WOwWxkNny9ZBb9mCQbV1xJJT6Q/n1pYym1gJLsc4iTTucbZWtv1k6gCzPH7CJPBvSIT0ZC1rCbst1cKzxJugCGgoqnVVcCORj7+P2aMQICeGOHh0C7ork2LfF0bR4C7U+q+tINKUc1lzoC+8wHXXDzInZbeqOmiMklIgF8JLNZ43r3Vj4wMVaC+UmzjriuF/b9N9eOpW/tOEM7/Ed08WPij5XnKIZfmG1GtI74fLnVryTH7iyhtM4w8Tp73dGLhkQFutcXi3oNHKmsQ72wQ YXnCvb48 ANZHUHvYWWHfmbnOCNJR3ec8J5iPy9H+EtA1I8A3ItsC8LJt3pR12dAw0RTDWEFgQo9ffPvZsMfOYyx7PRpL6Uqhx/u9lXMs803nFfOMN6nc8PXZAV0fRYnq84Dgv0sCJxjDs+x6pyVe/A1b7EjffSn6J82L4t1jWW2knqX7yDXjJ+U3ZW1B60S3tcTswjg4AugYeiaErLKlfZLZPuPs8jSND9gnsg+Zmejork97VksLrzbInC3xNGge/ALk97c3cTIFbZBxtOqgEbvQVqc9IzqXV6nB/SK0prhJVRWYt5fq03NAn1jfnWJ0fDe5AH224+xgBKWtt07kPmnCMgVErmwiXmY1EWTagvGFkPAgbATcpMlLYmWp/HSc6au4OYgJx8gjeex7SZF023n2YSv3rJyAZLqw2AwOgZflCkjN4bMC6kjqarOeoj7SvTFP+2/0Nzrnw X-Bogosity: Ham, tests=bogofilter, spamicity=0.225027, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sun, Feb 2, 2025 at 1:58=E2=80=AFAM Linus Torvalds wrote: > > On Sat, 1 Feb 2025 at 06:38, Christian Brauner wrote= : > > > > Ok, but those "device fds" aren't really device fds in the sense that > > they are character fds. They are regular files afaict from: > > > > vfio_device_open_file(struct vfio_device *device) > > > > (Well, it's actually worse as anon_inode_getfile() files don't have any > > mode at all but that's beside the point.)? > > > > In any case, I think you're right that such files would (accidently?) > > qualify for content watches afaict. So at least that should probably ge= t > > FMODE_NONOTIFY. > > Hmm. Can we just make all anon_inodes do that? I don't think you can > sanely have pre-content watches on anon-inodes, since you can't really > have access to them to _set_ the content watch from outside anyway.. > > In fact, maybe do it in alloc_file_pseudo()? > The problem is that we cannot set FMODE_NONOTIFY - we tried that once but it regressed some workloads watching write on pipe fd or something. and the no-pre-content is a flag combination (to save FMODE_ flags) which makes things a bit messy. We could try to initialize f_mode to FMODE_NONOTIFY_PERM for anon_inode, which opts out of both permission and pre-content events and leaves the legacy inotify workloads unaffected. But, then code like this will not do the right thing: /* We refuse fsnotify events on ptmx, since it's a shared resource = */ filp->f_mode |=3D FMODE_NONOTIFY; We will need to convert all those to use a helper. I am traveling today so will be able to look closer tomorrow. Jan, What do you think? Amir.