From: Ian Kent <raven@themaw.net> To: Miklos Szeredi <miklos@szeredi.hu>, David Howells <dhowells@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org>, Al Viro <viro@zeniv.linux.org.uk>, Casey Schaufler <casey@schaufler-ca.com>, Stephen Smalley <sds@tycho.nsa.gov>, Nicolas Dichtel <nicolas.dichtel@6wind.com>, Christian Brauner <christian@brauner.io>, andres@anarazel.de, Jeff Layton <jlayton@redhat.com>, dray@redhat.com, Karel Zak <kzak@redhat.com>, keyrings@vger.kernel.org, Linux API <linux-api@vger.kernel.org>, linux-fsdevel@vger.kernel.org, LSM <linux-security-module@vger.kernel.org>, linux-kernel@vger.kernel.org Subject: Re: [PATCH 13/17] watch_queue: Implement mount topology and attribute change notifications [ver #5] Date: Tue, 04 Aug 2020 11:38:59 +0000 [thread overview] Message-ID: <43c061d26ddef2aa3ca1ac726da7db9ab461e7be.camel@themaw.net> (raw) In-Reply-To: <CAJfpeguvLMCw1H8+DPsfZE_k0sEiRtA17pD9HjnceSsAvqqAZw@mail.gmail.com> On Mon, 2020-08-03 at 11:29 +0200, Miklos Szeredi wrote: > On Thu, Jul 23, 2020 at 12:48 PM David Howells <dhowells@redhat.com> > wrote: > > > > > __u32 topology_changes; > > > > __u32 attr_changes; > > > > __u32 aux_topology_changes; > > > > > > Being 32bit this introduces wraparound effects. Is that really > > > worth it? > > > > You'd have to make 2 billion changes without whoever's monitoring > > getting a > > chance to update their counters. But maybe it's not worth it > > putting them > > here. If you'd prefer, I can make the counters all 64-bit and just > > retrieve > > them with fsinfo(). > > Yes, I think that would be preferable. I think this is the source of the recommendation for removing the change counters from the notification message, correct? While it looks like I may not need those counters for systemd message buffer overflow handling myself I think removing them from the notification message isn't a sensible thing to do. If you need to detect missing messages, perhaps due to message buffer overflow, then you need change counters that are relevant to the notification message itself. That's so the next time you get a message for that object you can be sure that change counter comparisons you you make relate to object notifications you have processed. Yes, I know it isn't quite that simple, but tallying up what you have processed in the current batch of messages (or in multiple batches of messages if more than one read has been possible) to perform the check is a user space responsibility. And it simply can't be done if the counters consistency is in question which it would be if you need to perform another system call to get it. It's way more useful to have these in the notification than obtainable via fsinfo() IMHO. > > > > > n->watch.info & NOTIFY_MOUNT_IS_RECURSIVE if true > > > > indicates that > > > > the notifcation was generated by an event (eg. SETATTR) > > > > that was > > > > applied recursively. The notification is only > > > > generated for the > > > > object that initially triggered it. > > > > > > Unused in this patchset. Please don't add things to the API > > > which are not > > > used. > > > > Christian Brauner has patches for mount_setattr() that will need to > > use this. > > Fine, then that patch can add the flag. > > Thanks, > Miklos
WARNING: multiple messages have this Message-ID (diff)
From: Ian Kent <raven@themaw.net> To: Miklos Szeredi <miklos@szeredi.hu>, David Howells <dhowells@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org>, Al Viro <viro@zeniv.linux.org.uk>, Casey Schaufler <casey@schaufler-ca.com>, Stephen Smalley <sds@tycho.nsa.gov>, Nicolas Dichtel <nicolas.dichtel@6wind.com>, Christian Brauner <christian@brauner.io>, andres@anarazel.de, Jeff Layton <jlayton@redhat.com>, dray@redhat.com, Karel Zak <kzak@redhat.com>, keyrings@vger.kernel.org, Linux API <linux-api@vger.kernel.org>, linux-fsdevel@vger.kernel.org, LSM <linux-security-module@vger.kernel.org>, linux-kernel@vger.kernel.org Subject: Re: [PATCH 13/17] watch_queue: Implement mount topology and attribute change notifications [ver #5] Date: Tue, 04 Aug 2020 19:38:59 +0800 [thread overview] Message-ID: <43c061d26ddef2aa3ca1ac726da7db9ab461e7be.camel@themaw.net> (raw) In-Reply-To: <CAJfpeguvLMCw1H8+DPsfZE_k0sEiRtA17pD9HjnceSsAvqqAZw@mail.gmail.com> On Mon, 2020-08-03 at 11:29 +0200, Miklos Szeredi wrote: > On Thu, Jul 23, 2020 at 12:48 PM David Howells <dhowells@redhat.com> > wrote: > > > > > __u32 topology_changes; > > > > __u32 attr_changes; > > > > __u32 aux_topology_changes; > > > > > > Being 32bit this introduces wraparound effects. Is that really > > > worth it? > > > > You'd have to make 2 billion changes without whoever's monitoring > > getting a > > chance to update their counters. But maybe it's not worth it > > putting them > > here. If you'd prefer, I can make the counters all 64-bit and just > > retrieve > > them with fsinfo(). > > Yes, I think that would be preferable. I think this is the source of the recommendation for removing the change counters from the notification message, correct? While it looks like I may not need those counters for systemd message buffer overflow handling myself I think removing them from the notification message isn't a sensible thing to do. If you need to detect missing messages, perhaps due to message buffer overflow, then you need change counters that are relevant to the notification message itself. That's so the next time you get a message for that object you can be sure that change counter comparisons you you make relate to object notifications you have processed. Yes, I know it isn't quite that simple, but tallying up what you have processed in the current batch of messages (or in multiple batches of messages if more than one read has been possible) to perform the check is a user space responsibility. And it simply can't be done if the counters consistency is in question which it would be if you need to perform another system call to get it. It's way more useful to have these in the notification than obtainable via fsinfo() IMHO. > > > > > n->watch.info & NOTIFY_MOUNT_IS_RECURSIVE if true > > > > indicates that > > > > the notifcation was generated by an event (eg. SETATTR) > > > > that was > > > > applied recursively. The notification is only > > > > generated for the > > > > object that initially triggered it. > > > > > > Unused in this patchset. Please don't add things to the API > > > which are not > > > used. > > > > Christian Brauner has patches for mount_setattr() that will need to > > use this. > > Fine, then that patch can add the flag. > > Thanks, > Miklos
next prev parent reply other threads:[~2020-08-04 11:38 UTC|newest] Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-18 15:03 [PATCH 00/17] pipe: Keyrings, mount and superblock notifications [ver #5] David Howells 2020-03-18 15:03 ` David Howells 2020-03-18 15:03 ` [PATCH 01/17] uapi: General notification queue definitions " David Howells 2020-03-18 15:03 ` [PATCH 02/17] security: Add hooks to rule on setting a watch " David Howells 2020-03-18 15:03 ` David Howells 2020-03-18 18:56 ` James Morris 2020-03-18 18:56 ` James Morris 2020-03-18 15:03 ` [PATCH 03/17] security: Add a hook for the point of notification insertion " David Howells 2020-03-18 15:03 ` David Howells 2020-03-18 18:57 ` James Morris 2020-03-18 18:57 ` James Morris 2020-03-18 15:03 ` [PATCH 04/17] pipe: Add O_NOTIFICATION_PIPE " David Howells 2020-03-18 15:03 ` [PATCH 05/17] pipe: Add general notification queue support " David Howells 2020-03-18 15:03 ` David Howells 2020-03-18 15:04 ` [PATCH 06/17] watch_queue: Add a key/keyring notification facility " David Howells 2020-03-18 15:04 ` David Howells 2020-03-18 19:04 ` James Morris 2020-03-18 19:04 ` James Morris 2020-03-18 15:04 ` [PATCH 07/17] Add sample notification program " David Howells 2020-03-18 15:04 ` David Howells 2020-03-18 15:04 ` [PATCH 08/17] pipe: Allow buffers to be marked read-whole-or-error for notifications " David Howells 2020-03-18 15:04 ` David Howells 2020-03-18 15:04 ` [PATCH 09/17] pipe: Add notification lossage handling " David Howells 2020-03-18 15:04 ` David Howells 2020-03-18 15:04 ` [PATCH 10/17] selinux: Implement the watch_key security hook " David Howells 2020-03-18 15:04 ` David Howells 2020-03-18 19:06 ` James Morris 2020-03-18 19:06 ` James Morris 2020-03-18 15:04 ` [PATCH 11/17] smack: Implement the watch_key and post_notification hooks " David Howells 2020-03-18 15:04 ` David Howells 2020-03-18 15:05 ` [PATCH 12/17] watch_queue: Add security hooks to rule on setting mount and sb watches " David Howells 2020-03-18 15:05 ` David Howells 2020-03-18 19:07 ` James Morris 2020-03-18 19:07 ` James Morris 2020-03-18 15:05 ` [PATCH 13/17] watch_queue: Implement mount topology and attribute change notifications " David Howells 2020-03-18 15:05 ` David Howells 2020-04-02 15:19 ` Miklos Szeredi 2020-04-02 15:19 ` Miklos Szeredi 2020-06-14 3:07 ` Ian Kent 2020-06-14 3:07 ` Ian Kent 2020-06-15 8:44 ` Miklos Szeredi 2020-06-15 8:44 ` Miklos Szeredi 2020-07-23 10:48 ` David Howells 2020-07-23 10:48 ` David Howells 2020-08-03 9:29 ` Miklos Szeredi 2020-08-03 9:29 ` Miklos Szeredi 2020-08-04 11:38 ` Ian Kent [this message] 2020-08-04 11:38 ` Ian Kent 2020-08-04 13:19 ` Miklos Szeredi 2020-08-04 13:19 ` Miklos Szeredi 2020-08-05 1:53 ` Ian Kent 2020-08-05 1:53 ` Ian Kent 2020-08-05 7:43 ` Miklos Szeredi 2020-08-05 7:43 ` Miklos Szeredi 2020-08-05 11:36 ` Ian Kent 2020-08-05 11:36 ` Ian Kent 2020-08-05 11:56 ` Miklos Szeredi 2020-08-05 11:56 ` Miklos Szeredi 2020-07-24 10:19 ` David Howells 2020-07-24 10:19 ` David Howells 2020-07-24 10:44 ` Ian Kent 2020-07-24 10:44 ` Ian Kent 2020-07-24 11:36 ` David Howells 2020-07-24 11:36 ` David Howells 2020-08-03 10:02 ` Miklos Szeredi 2020-08-03 10:02 ` Miklos Szeredi 2020-08-03 10:08 ` David Howells 2020-08-03 10:08 ` David Howells 2020-08-03 10:18 ` David Howells 2020-08-03 10:18 ` David Howells 2020-08-03 11:17 ` Miklos Szeredi 2020-08-03 11:17 ` Miklos Szeredi 2020-08-03 11:49 ` David Howells 2020-08-03 11:49 ` David Howells 2020-08-03 12:01 ` Ian Kent 2020-08-03 12:01 ` Ian Kent 2020-08-03 12:31 ` David Howells 2020-08-03 12:31 ` David Howells 2020-08-03 14:30 ` Ian Kent 2020-08-03 14:30 ` Ian Kent 2020-03-18 15:05 ` [PATCH 14/17] watch_queue: sample: Display mount tree " David Howells 2020-03-18 15:05 ` David Howells 2020-03-18 15:05 ` [PATCH 15/17] watch_queue: Introduce a non-repeating system-unique superblock ID " David Howells 2020-03-18 15:05 ` [PATCH 16/17] watch_queue: Add superblock notifications " David Howells 2020-03-18 15:05 ` David Howells 2020-03-18 15:05 ` [PATCH 17/17] watch_queue: sample: Display " David Howells 2020-03-18 15:05 ` David Howells
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=43c061d26ddef2aa3ca1ac726da7db9ab461e7be.camel@themaw.net \ --to=raven@themaw.net \ --cc=andres@anarazel.de \ --cc=casey@schaufler-ca.com \ --cc=christian@brauner.io \ --cc=dhowells@redhat.com \ --cc=dray@redhat.com \ --cc=jlayton@redhat.com \ --cc=keyrings@vger.kernel.org \ --cc=kzak@redhat.com \ --cc=linux-api@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=miklos@szeredi.hu \ --cc=nicolas.dichtel@6wind.com \ --cc=sds@tycho.nsa.gov \ --cc=torvalds@linux-foundation.org \ --cc=viro@zeniv.linux.org.uk \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.