![]() | ||||||||||
Messages in this thread Patch in this message |
Don't reassign to watch. If idr_find() returns NULL, then put_inotify_watch will choke. Signed-off-by: Amy Griffis <amy.griffis@hp.com> diff --git a/fs/inotify.c b/fs/inotify.c index 7d57253..5d4ba7c 100644 --- a/fs/inotify.c +++ b/fs/inotify.c @@ -889,18 +889,17 @@ static int inotify_ignore(struct inotify get_inotify_watch(watch); inode = watch->inode; mutex_unlock(&dev->mutex); mutex_lock(&inode->inotify_mutex); mutex_lock(&dev->mutex); /* make sure that we did not race */ - watch = idr_find(&dev->idr, wd); - if (likely(watch)) + if (likely(idr_find(&dev->idr, wd) == watch)) remove_watch(watch, dev); mutex_unlock(&dev->mutex); mutex_unlock(&inode->inotify_mutex); put_inotify_watch(watch); return 0; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2006-05-20 04:48 [from the cache] ©2003-2008 | ||||||||||