[patch 04/38] inotify: fix check for one-shot watches beforedestroying them

From: Greg KH
Date: Fri Feb 22 2008 - 19:56:45 EST


2.6.24-stable review patch. If anyone has any objections, please let us
know.

------------------

From: Ulisses Furquim <ulissesf@xxxxxxxxx>

patch ac74c00e499ed276a965e5b5600667d5dc04a84a in mainline.

As the IN_ONESHOT bit is never set when an event is sent we must check it
in the watch's mask and not in the event's mask.

Signed-off-by: Ulisses Furquim <ulissesf@xxxxxxxxx>
Reported-by: "Clem Taylor" <clem.taylor@xxxxxxxxx>
Tested-by: "Clem Taylor" <clem.taylor@xxxxxxxxx>
Cc: Amy Griffis <amy.griffis@xxxxxx>
Cc: Robert Love <rlove@xxxxxxxxxx>
Cc: John McCutchan <ttb@xxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>


---
fs/inotify_user.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/inotify_user.c
+++ b/fs/inotify_user.c
@@ -269,7 +269,7 @@ static void inotify_dev_queue_event(stru
/* we can safely put the watch as we don't reference it while
* generating the event
*/
- if (mask & IN_IGNORED || mask & IN_ONESHOT)
+ if (mask & IN_IGNORED || w->mask & IN_ONESHOT)
put_inotify_watch(w); /* final put */

/* coalescing: drop this event if it is a dupe of the previous */

--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/