diff options
author | Eric Paris <eparis@redhat.com> | 2009-07-13 15:56:55 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2009-07-21 15:26:26 -0400 |
commit | c05594b62125c528d93af3a78229793aae36df7f (patch) | |
tree | 2e9b2ba0ea63d3587cb3c6dc7d72e7a202aade52 /fs/notify/notification.c | |
parent | 4a148ba988988b9c400ad0f2cbccc155289b954b (diff) | |
download | kernel_samsung_smdk4412-c05594b62125c528d93af3a78229793aae36df7f.zip kernel_samsung_smdk4412-c05594b62125c528d93af3a78229793aae36df7f.tar.gz kernel_samsung_smdk4412-c05594b62125c528d93af3a78229793aae36df7f.tar.bz2 |
fsnotify: fix inotify tail drop check with path entries
fsnotify drops new events when they are the same as the tail event on the
queue to be sent to userspace. The problem is that if the event comes with
a path we forget to break out of the switch statement and fall into the
code path which matches on events that do not have any type of file backed
information (things like IN_UNMOUNT and IN_Q_OVERFLOW). The problem is
that this code thinks all such events should be dropped. Fix is to add a
break.
Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs/notify/notification.c')
-rw-r--r-- | fs/notify/notification.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/notify/notification.c b/fs/notify/notification.c index 69391fe..2b20feaf 100644 --- a/fs/notify/notification.c +++ b/fs/notify/notification.c @@ -151,6 +151,7 @@ static bool event_compare(struct fsnotify_event *old, struct fsnotify_event *new if ((old->path.mnt == new->path.mnt) && (old->path.dentry == new->path.dentry)) return true; + break; case (FSNOTIFY_EVENT_NONE): return true; }; |