From: Ingo Oeser <ingo@oeser-vu.de>
To: Robert Love <rml@novell.com>
Cc: John McCutchan <ttb@tentacle.dhs.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] inotify: fix one-shot support
Date: Wed, 8 Feb 2006 08:52:04 +0100 [thread overview]
Message-ID: <200602080852.18179.ingo@oeser-vu.de> (raw)
In-Reply-To: <200602080105.k1815her002647@hera.kernel.org>
[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]
Hi Robert,
hi John,
just saw this commit.
On Wednesday 08 February 2006 02:05, you wrote:
> tree 5b5af4e03e627b66a9f37d25dd370a145ec72438
> parent 8e08b756869eeb08ace17ad64c2a8cb97b18e856
> author Robert Love <rml@novell.com> Wed, 08 Feb 2006 04:58:45 -0800
> committer Linus Torvalds <torvalds@g5.osdl.org> Wed, 08 Feb 2006 08:12:33 -0800
>
> [PATCH] inotify: fix one-shot support
>
> Fix one-shot support in inotify. We currently drop the IN_ONESHOT flag
> during watch addition. Fix is to not do that.
Yes, but now you can add a watch without any event attached.
This would revert the original sense of the test.
> Signed-off-by: Robert Love <rml@novell.com>
> Cc: John McCutchan <ttb@tentacle.dhs.org>
> Signed-off-by: Andrew Morton <akpm@osdl.org>
> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
>
> fs/inotify.c | 2 +-
> 1 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/inotify.c b/fs/inotify.c
> index 878ccca..3041503 100644
> --- a/fs/inotify.c
> +++ b/fs/inotify.c
> @@ -967,7 +967,7 @@ asmlinkage long sys_inotify_add_watch(in
> mask_add = 1;
>
> /* don't let user-space set invalid bits: we don't want flags set */
> - mask &= IN_ALL_EVENTS;
> + mask &= IN_ALL_EVENTS | IN_ONESHOT;
> if (unlikely(!mask)) {
> ret = -EINVAL;
> goto out;
See, now you can just pass IN_ONESHOT behavior flag without any
events to shoot at, which you couldn't do before. But this makes only
sense, if we would like to set a multi-shot mask to one-shot now.
Does this transition (multi shot to single shot)makes sense at all?
Is it race-free to allow this?.
So my suggested fix instead of yours would be:
/* don't let user-space set invalid bits: we don't want flags set */
mask &= IN_ALL_EVENTS | IN_ONESHOT;
if (unlikely((mask & IN_ALL_EVENTS) == 0 && !mask_add)) {
ret = -EINVAL;
goto out;
}
Would you like a patch on top of the one submitted by you?
Regards
Ingo Oeser
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next parent reply other threads:[~2006-02-08 7:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200602080105.k1815her002647@hera.kernel.org>
2006-02-08 7:52 ` Ingo Oeser [this message]
2006-02-08 16:16 ` Robert Love
2006-02-09 8:42 ` Ingo Oeser
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=200602080852.18179.ingo@oeser-vu.de \
--to=ingo@oeser-vu.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rml@novell.com \
--cc=ttb@tentacle.dhs.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®