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 C9FDBD597C1 for ; Wed, 13 Nov 2024 00:39:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 462246B00AF; Tue, 12 Nov 2024 19:39:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3EBFD6B00B0; Tue, 12 Nov 2024 19:39:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2647D6B00B2; Tue, 12 Nov 2024 19:39:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 05E736B00AF for ; Tue, 12 Nov 2024 19:39:03 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AA6A61606D4 for ; Wed, 13 Nov 2024 00:39:03 +0000 (UTC) X-FDA: 82779210906.26.2A51427 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf17.hostedemail.com (Postfix) with ESMTP id 0B4C740002 for ; Wed, 13 Nov 2024 00:38:28 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=f2UlhkAZ; dmarc=none; spf=pass (imf17.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.43 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731458254; 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=HToIlSDY7cOn93fCLokqkKx9Z4UBbjM0FNxhpulJNm8=; b=0WBwhhuTlJqZlzsPvUteFGlBeoAu+EsZFv5mOni8QYtoLi6dvPFs4opu2xUvFPv09X1Uf0 Z8WmZn4QLpeOg1MTy8I+1FcvngpRUnULT05RgccKX58OhXv4g+r1Dn7zwGaGhBCD9ijfn2 J8NRueeba9QINy0gwgjKX3sYnh/3lXI= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=f2UlhkAZ; dmarc=none; spf=pass (imf17.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.43 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731458254; a=rsa-sha256; cv=none; b=Uw7nr/v9yDyTPPdedNFXtmPdi3CXi5YPDTsrsSWSJylOHI9tPS3PdHcqQhgpCG34YSKZEx i68Eg7ofBxN2snqEa3jcxgI8i5PQHYRLqJI/hXw01SM/X5IKsBJpT54cIheArzK3ESIWja 8BOSwQdmdXa4rQT8ujdL7Yxoih25xyc= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a9f1d76dab1so501040866b.0 for ; Tue, 12 Nov 2024 16:39:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1731458340; x=1732063140; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HToIlSDY7cOn93fCLokqkKx9Z4UBbjM0FNxhpulJNm8=; b=f2UlhkAZIeffjN7qiHsVEW3KRdS5d5tC8aegKkkIHiZg8xHcgl1aXEGaF42HXSRaRR IVw0GNX3D07hZagaqc5Y7O4rTVW358wTZ8irTKDBjTZ8aQSw5XSijWSXp0L233QI2NLr e2383R3ccxp0CuY6oFxhbMis4pX9G19zBEbxA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731458340; x=1732063140; h=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=HToIlSDY7cOn93fCLokqkKx9Z4UBbjM0FNxhpulJNm8=; b=BhOShnqao4+kEmVu6r8R+qtbcThSbioGi1mwj1aU57t8juAOqmFOSime+fljS3IpVO nxJn7mJabH43wCkUKVYd8uoEPv39PfLFiw4t5iF9i5N2uued2yMRqInMD3UdOYgtvcnM xoryP7Xp2ZyCSHkk97kJa9RmccAJh5yPRcg7SvBJ/5xgYgMXHvK1yZtIfMV0QAZmpfkv TtJYVkpvwIjehnfKB2kxewO7Z5PVwq9GvmR8SHauXXyxQoL2qjjzbA3IjnMOM7/MfdLs zchaLg3AL7A/ZpENAQars+w9rdXzotQsgFQXJoH7evT4DXVQBL4hN2BiE3UcnciQQdDb p/iw== X-Forwarded-Encrypted: i=1; AJvYcCUKMu9jFjgxNKJtOzFlhMuTZ1xvqN9VnQzA20mxGpA81AxXEJoMjdDAcHmjKw1X4fFQWXFkLOdZcw==@kvack.org X-Gm-Message-State: AOJu0YxKqcBQSZd8+sJ5koQJnDY5JYjgVPqyQx7e5pFgONaXtZgaNzik hT8OfKsJsmTV8DUsplrmyz6UXaCxZM6ipRgr43tbN0zJnouf53W6GmYSi4Q44mbg82eChUQxPqc ZJH38zg== X-Google-Smtp-Source: AGHT+IEx5xSwOQAAO0IIb0FQEo7ZxvhIlW8Qbg4mmEHegodropHOGwsZsy2HbG+cceTB7+MqTdFZhw== X-Received: by 2002:a17:906:7952:b0:a9a:24a2:180b with SMTP id a640c23a62f3a-aa1c57ef7e5mr468934366b.57.1731458339816; Tue, 12 Nov 2024 16:38:59 -0800 (PST) Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com. [209.85.218.42]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9ee0a176e1sm789891266b.31.2024.11.12.16.38.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 12 Nov 2024 16:38:58 -0800 (PST) Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-a9ed49ec0f1so1062060166b.1 for ; Tue, 12 Nov 2024 16:38:58 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUdNX3cU8ud0BkpvOw1s1JDW2jmNEgQeH/mUUm1Vxisg6oqs5mXOPfG0KdrInFzs4++9civGPl3Uw==@kvack.org X-Received: by 2002:a17:907:1b0e:b0:a9a:1792:f05 with SMTP id a640c23a62f3a-aa1b10a45a5mr487896766b.31.1731458338247; Tue, 12 Nov 2024 16:38:58 -0800 (PST) MIME-Version: 1.0 References: <141e2cc2dfac8b2f49c1c8d219dd7c20925b2cef.1731433903.git.josef@toxicpanda.com> <20241113001251.GF3387508@ZenIV> In-Reply-To: From: Linus Torvalds Date: Tue, 12 Nov 2024 16:38:42 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v7 05/18] fsnotify: introduce pre-content permission events To: Al Viro Cc: Amir Goldstein , Josef Bacik , kernel-team@fb.com, linux-fsdevel@vger.kernel.org, jack@suse.cz, brauner@kernel.org, linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-mm@kvack.org, linux-ext4@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 0B4C740002 X-Stat-Signature: 3ok4c9chw7hqmtnn9tj9zim9oamaq3x1 X-HE-Tag: 1731458308-63177 X-HE-Meta: U2FsdGVkX1/5Q1hrIVXW3KKwyb877WAD0q9MABNyxSDgqSsc/EZ2JNxOUo8DY+VXuCB4PVTAfmVBWwc4su0afAgTjMPNAl5sOC5pxXIxUv+OtjJlru/vxZYQCZN2A0lo3XdMRy65Ey0Ty0jaA9+hppKdhZQGysf6MUdhuwVUTCI24iIMqeyTy0Utbv5C5t8y5chXXx3K0vYrBsJgGN1N3K0oEIfaOQFBZ2OlR39KF6LbocdMLX5NMZKoHKETTnMt8nDlx6jIxYyHtFuUQlNDN0ei/Du6FTwCKbXDsyC0/p4O/7fUX0prHQ7r1WwfHjGsmpmm6gP1HsImekyyCoqWrIpYAjILfd0+Wjd2+OT7A6q+ORVUDgKrf2G26VIw6Ap/w1pCdSYZLFsYruR4ogma6SmxfMiAz0JZ1RgBaZ6Dxzdjf3rkG/DLlTTRwBjSsRCIlXuiTn3xA/6/glMXdC5pIBWZJmtor9XifWro6r14maYnNXFQUln6bkKSMTIIO411SHKU8d1ps+ODPaOaTrAMnuCDrMexv9Uq85D66/FjbhyxIhGfFQUSwmbC2pExqE11kfzhaLEQkjQPZR5ACatXR0F4CJj74MHYEZe33+lNKoKhlcYZmXEfdd8Md/efz87FpmSxJVwICzWMhjCyKSqyFXIcBrelHxsa2sFkyoapRkVRpcpiJj+bVg8eWfLPgy5oGnriuLTTKpRgnEmfVpjftPRvXXm4Y/NlifS4g9XN4TZMlHhzCOXoN7bt72Smz+OWNY+sJNGh7IsRpwoNvrSkwTQH+gFCcJi7NPqMxBBG0EP0G+0LSRKw0UsyDJttmtdEV0i5DlR25Md2AWRRWdiMU4YNjfcaSU0F1GxufGjawUqYiHWYHzVYzDa5Mo0xk6WpGviI+vxqgKHp2xMm3VV77Q3Tk6MshiWRIUD+wPXP5gWRrWVrxczkdfuHu92o1npxK291AUx2K74Z/YLQuji Y2039UxJ RuI3rkuGMTqG3NCShDxt0ip1h8F6JFFwEwYRBi3v1Yp3TCgr2POGuUPqNC2nppJAHrTC8Y8cjL0pnvG9jn/xCOSkhTd5T0r+UxWSPxyhuEtAN6g1UbUtGIM9jYK+Ylypn7p8PksbnmZ5LXK26NM/3JRAE7mt+K/4Mq8dTd/OMFYYO2pqRGfVKzsiviriDqpodteehgqrC2jEs03r2tEWrxJ9gGk+mHhzsTidSs+MfLV11z0C3jVTGoKw+KSg2WvLY0mI97JwyGUq8qifUsd/jru1UDruZA0iTqcRg/FcBdetklHhoC6lQjkB2qWssi7OdJzSyrTZoUsGQ2zDj+yAf6A+2+hbf5lAVEVO+CV/j1P6a0ZJ4UdCTRedMO3UWRsfHqp8kBeLDMlF9hBXGCdofPyuado81EB/aRmAe+de5wh3P8fvFRVv0U1raYVbY/7Dh0t7j3bQ9HEkfyNpstuuD1maL2SKQhWLKPssZ45ucoYdQoDWq6a55ZjjfyVbJ3mmy9aWVeHVDkH0J6R/5m7hGk4iGG4gHi3eqHPpFdmzE3bY6Sj7usEOMECMUILbzKQD6tfK3D4oRUkBkiNTGGUVmRpc/SQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, 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 Tue, 12 Nov 2024 at 16:23, Linus Torvalds wrote: > > On Tue, 12 Nov 2024 at 16:12, Al Viro wrote: > > > > Ugh... Actually, I would rather mask that on fcntl side (and possibly > > moved FMODE_RANDOM/FMODE_NOREUSE over there as well). > > > > Would make for simpler rules for locking - ->f_mode would be never > > changed past open, ->f_flags would have all changes under ->f_lock. > > Yeah, sounds sane. > > That said, just looking at which bits are used in f_flags is a major > PITA. About half the definitions use octal, with the other half using > hex. Lovely. > > So I'd rather not touch that mess until we have to. Actually, maybe the locking and the octal/hex mess should be considered a reason to clean this all up early rather than ignore it. Looking at that locking code in fadvise() just for the f_mode use does make me think this would be a really good cleanup. I note that our fcntl code seems buggy as-is, because while it does use f_lock for assignments (good), it clearly does *not* use them for reading. So it looks like you can actually read inconsistent values. I get the feeling that f_flags would want WRITE_ONCE/READ_ONCE in _addition_ to the f_lock use it has. The f_mode thing with fadvise() smells like the same bug. Just because the modifications are serialized wrt each other doesn't mean that readers are then automatically ok. Linus