lkml.org 
[lkml]   [2006]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] inotify: fix one-shot support
Date
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

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2006-02-08 08:54    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site