Messages in this thread | | | Subject | Re: [PATCH] inotify: actually check for invalid bits in sys_inotify_add_watch() | From | Dave Hansen <> | Date | Wed, 9 Sep 2015 14:59:55 -0700 |
| |
On 06/30/2015 10:36 AM, Dave Hansen wrote: > From: Dave Hansen <dave.hansen@linux.intel.com> > > The comment here says that it is checking for invalid bits. But, > the mask is *actually* checking to ensure that _any_ valid bit > is set, which is quite different. > > Add the actual check which was intended. Retain the existing > check because it actually does something useful: ensure that some > inotify bits are being added to the watch. Plus, this is > existing behavior which would be nice to preserve. > > I did a quick sniff test that inotify functions and that my > 'inotify-tools' package passes 'make check'.
Did anybody have any comments on this patch? Who picks up inotify patches?
> b/fs/notify/inotify/inotify_user.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff -puN fs/notify/inotify/inotify_user.c~inotify-EINVAL-on-invalid-bit fs/notify/inotify/inotify_user.c > --- a/fs/notify/inotify/inotify_user.c~inotify-EINVAL-on-invalid-bit 2015-06-26 13:33:30.277219285 -0700 > +++ b/fs/notify/inotify/inotify_user.c 2015-06-26 13:35:19.026122033 -0700 > @@ -707,6 +707,9 @@ SYSCALL_DEFINE3(inotify_add_watch, int, > unsigned flags = 0; > > /* don't allow invalid bits: we don't want flags set */ > + if (unlikely(mask & ~ALL_INOTIFY_BITS)) > + return -EINVAL; > + /* require at least one valid bit set in the mask */ > if (unlikely(!(mask & ALL_INOTIFY_BITS))) > return -EINVAL; > > _ >
| |