aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAmy Griffis <amy.griffis@hp.com>2006-05-20 18:00:07 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-21 15:59:18 -0400
commitd66fd908acc8ba88541ecc570d89b0243f947c5e (patch)
tree4367428c092231981230975b37cd1fbff3ec3155 /fs
parent66055a4e7334b05354c835123ff621c5f700e56a (diff)
[PATCH] fix NULL dereference in inotify_ignore
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> Cc: John McCutchan <john@johnmccutchan.com> Cc: Robert Love <rlove@rlove.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/inotify.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/inotify.c b/fs/inotify.c
index 7d5725336527..732ec4bd5774 100644
--- a/fs/inotify.c
+++ b/fs/inotify.c
@@ -894,8 +894,7 @@ static int inotify_ignore(struct inotify_device *dev, s32 wd)
894 mutex_lock(&dev->mutex); 894 mutex_lock(&dev->mutex);
895 895
896 /* make sure that we did not race */ 896 /* make sure that we did not race */
897 watch = idr_find(&dev->idr, wd); 897 if (likely(idr_find(&dev->idr, wd) == watch))
898 if (likely(watch))
899 remove_watch(watch, dev); 898 remove_watch(watch, dev);
900 899
901 mutex_unlock(&dev->mutex); 900 mutex_unlock(&dev->mutex);