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 2BE5CD6ED01 for ; Thu, 21 Nov 2024 10:44:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3E546B007B; Thu, 21 Nov 2024 05:44:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AC6726B0082; Thu, 21 Nov 2024 05:44:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9402C6B0083; Thu, 21 Nov 2024 05:44:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 7392D6B007B for ; Thu, 21 Nov 2024 05:44:37 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 2399E160DEE for ; Thu, 21 Nov 2024 10:44:37 +0000 (UTC) X-FDA: 82809764898.17.62F38B4 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf22.hostedemail.com (Postfix) with ESMTP id 3AA5CC0002 for ; Thu, 21 Nov 2024 10:43:29 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=DMU+x6kw; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="cU49+M/h"; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="Xx66AgB/"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=xQRHClmm; dmarc=none; spf=pass (imf22.hostedemail.com: domain of jack@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732185783; 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=2odM2XwiSeig2qspZJhLnYlq4MgMTonOwI79YapIuR8=; b=DjzdGyI2VaxMDYvqtHcenI7U4cjEm5RDIk7IUs6QPjVIJiFQYncFDtr40mWcgUsS14TSVt hOrEUbQjOgt52qEgyJa/heQVAnyokPOex+zuy3CF3vqjjtyPwuQwFJrWVztf0MRIDnnd/o KuKznhe1zUJkgqtidSpAR7EDTCgkDz8= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=DMU+x6kw; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b="cU49+M/h"; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="Xx66AgB/"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=xQRHClmm; dmarc=none; spf=pass (imf22.hostedemail.com: domain of jack@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732185783; a=rsa-sha256; cv=none; b=MsVpofaSZQeTgKUacVcuVdWnamMNrb5mOfdlfhjGXMxscn6+enr7TUmoGGr1itXtknzj7X l7bcvy2o7eYbfN5m9JDoVVa5e0toG4Zces9o0ifbj1CnNEa7b85YfczMkJbvxG36CJRJeM VJ5KvNPvYcyXiymY9XUYl1lgcQrZnIQ= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id EA2D11F7F2; Thu, 21 Nov 2024 10:44:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1732185873; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2odM2XwiSeig2qspZJhLnYlq4MgMTonOwI79YapIuR8=; b=DMU+x6kw4T5uyBoVt55eYOwF/PSE30mbyoOUYZCURemhDx9jEDyadG+Qbz39DDLQLtfFJ2 eisI63F5peHstrwRPIyj4SDLKm13CdIIfY+V8AeHzP44MCspAkcbbz21d/0++w4p/aJsOa dR5YrULS2pXCiDJ9+fe2yDTzrB+aUWQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1732185873; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2odM2XwiSeig2qspZJhLnYlq4MgMTonOwI79YapIuR8=; b=cU49+M/hbeCKK9XSXJVjNjN40leAntPTJ6+doHXRLfdq+vCmOCcxTxFep4kVLho2r5ZTy8 +t4aX6spNM3hmpDA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1732185872; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2odM2XwiSeig2qspZJhLnYlq4MgMTonOwI79YapIuR8=; b=Xx66AgB/DMGr+Di0pE0UOUC4OvHrtZ2+N22JmMMQ5AOqHY0WkNPgqC/TkJLwgzg0FGn3cT f9ecyyhkwevA4d+ciChN8T263SR/W7XkYmK17YlC31+l6Fpi5h1cZCIi8hfUq7CpU0i2PL /PM9xsyFhlH1x+RF/bFNfMs3wQbBgrg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1732185872; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2odM2XwiSeig2qspZJhLnYlq4MgMTonOwI79YapIuR8=; b=xQRHClmmPLzJw7SScv3PkXKxg7LCaj9fxYsbPe6x2P8w0byupibKmX4ttocCoJKumO/Dke GMEcWUopWS+ySdDQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D862C137CF; Thu, 21 Nov 2024 10:44:32 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id GDmLNBAPP2dUcgAAD6G6ig (envelope-from ); Thu, 21 Nov 2024 10:44:32 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 89D9BA089E; Thu, 21 Nov 2024 11:44:28 +0100 (CET) Date: Thu, 21 Nov 2024 11:44:28 +0100 From: Jan Kara To: Josef Bacik Cc: kernel-team@fb.com, linux-fsdevel@vger.kernel.org, jack@suse.cz, amir73il@gmail.com, brauner@kernel.org, torvalds@linux-foundation.org, viro@zeniv.linux.org.uk, linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-mm@kvack.org, linux-ext4@vger.kernel.org Subject: Re: [PATCH v8 10/19] fanotify: introduce FAN_PRE_ACCESS permission event Message-ID: <20241121104428.wtlrfhadcvipkjia@quack3> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Action: no action X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 3AA5CC0002 X-Stat-Signature: 6rw181cjpqsufhxujudtw35jgbazquqd X-HE-Tag: 1732185809-78163 X-HE-Meta: U2FsdGVkX19gCTPlX6hJ2x0KloHv/lCSE0545cyBT9pH7cYkQWH81GvYNRw7db/YwiZG03QHDIDkkse+blbu/I0Eew7WvzXFlhN8PKMVjWvLUFqRgHk/6lqg2q7D5WfbyeVeTUnUwUbeHp0neQYlLmZlCkHhJjIfiBkgxpElboKVIr9VLAShN1EZzhE1P4qjPa0nq6aNu0aBH3MtbhD0bu9kDKKqS8uatFKxK5W3RHexEN6652DdsbnxC2ut1G/MxajEtxqaO+NibdXK4OKYOpYmvHMwbJmS/5/zrzmRDiDuegQ3ZSgnmiwCHlQw98voXuW1EdRLPeJpLBrnB5DuI/q848mTUwW8YbI+Faq/0ssZ7BjAU1Jsz7Wf24hgwmuQR6o8AxvJBNOiqsObnE9qDsns2wbo+uEbyxEcB8Jmi4FPigRAxL9ux5UOzjccgp9/oBVoHdx1qCskymBNN3dJwIC71fh2PYCnkzsbThRz9alwlT7TW2yg5QQkghHC5hazr3ORaIz3T7nU8YxdPNUxbe/jD7BGcSc0ZACOdujAT4Y7qXEOsLwYZCb/SNW4Zo3iHHKZiuPs1ixRl+IoPeNugf3xDZm2VPkGAb2xMM7x3TNp4cSCodOSB+wLPvoT8LlyYgNjg3BcM0h6VvFaYcltHNtux+BEubOMDzFl/w+ZLIXy3wtWF/0PYKfORapRKGn6XXO9WADPl7qDpgLzoQIBZp4oAiN+pZ0+7A5NDrbQlwlocG9ejppXlu+lqpw0j3BRF8u8kO5RKpf743w8D0BtMWNYbFsHhtC7BBScI7wWykThzhsiPLkyb204T1TM5rb2aUAcsOxyLpcK2hTI/RzMjS0wpZyGAg26xtyT3A14x6GPvXwpWAEpBakTxrA7kmIsJAvL7aNj6YfzvJ4Xd5YfmJXkiwik5Zd+gToX2PLRQF9owrmqmYWTPdoiokp1LSxXbiptgCNeqMlKvulw9Zi VSOt0MHe RUy2jr3NUU4US4T0ArJVkyRGcMo1Oij/b8Bbexnude97G/+q4dnQdHIStHydUDM4ku5EGIJRCT25De8Pj5e50b0AQ0xZShkrcIiW7f6x9nrsfyC051scsRWwAxLQfOuUku4vDQ1vhpAQLMRByTW0t9XSTQEyCHgUgwoHXvjqflvZop85T+LQlI0KB0DTbWCcL+oFIYKuAkrR7HK4ht0SiVwUfZVx9wOSCLrBVvNaWNV15+spNQsMK0EryUVJtpTon59Ht9rDQLVg+uRpG4mQcmvLb5wJE9Hg4QZKdlufvTEOxI9KIdut+vj62HMWc8Zw4WwDj96LSg9iIOxQO65MgwBSs9UZLnIv6i5OAajd4TrDjb+LagF6j14/hKKQurdLwFMz+LP+6KfIuby/w+ji5jyz+w4jhm+lCZowA 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: List-Subscribe: List-Unsubscribe: On Fri 15-11-24 10:30:23, Josef Bacik wrote: > From: Amir Goldstein > > Similar to FAN_ACCESS_PERM permission event, but it is only allowed with > class FAN_CLASS_PRE_CONTENT and only allowed on regular files and dirs. > > Unlike FAN_ACCESS_PERM, it is safe to write to the file being accessed > in the context of the event handler. > > This pre-content event is meant to be used by hierarchical storage > managers that want to fill the content of files on first read access. > > Signed-off-by: Amir Goldstein Here I was wondering about one thing: > + /* > + * Filesystems need to opt-into pre-content evnets (a.k.a HSM) > + * and they are only supported on regular files and directories. > + */ > + if (mask & FANOTIFY_PRE_CONTENT_EVENTS) { > + if (!(path->mnt->mnt_sb->s_iflags & SB_I_ALLOW_HSM)) > + return -EINVAL; > + if (!is_dir && !d_is_reg(path->dentry)) > + return -EINVAL; > + } AFAICS, currently no pre-content events are generated for directories. So perhaps we should refuse directories here as well for now? I'd like to avoid the mistake of original fanotify which had some events available on directories but they did nothing and then you have to ponder hard whether you're going to break userspace if you actually start emitting them... Honza -- Jan Kara SUSE Labs, CR