Преглед на файлове

fsnotify: Fix detection whether overflow event is queued

Currently we didn't initialize event's list head when we removed it from
the event list. Thus a detection whether overflow event is already
queued wasn't working. Fix it by always initializing the list head when
deleting event from a list.

Signed-off-by: Jan Kara <jack@suse.cz>
Jan Kara преди 11 години
родител
ревизия
2513190a92
променени са 1 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 5 1
      fs/notify/notification.c

+ 5 - 1
fs/notify/notification.c

@@ -132,7 +132,11 @@ struct fsnotify_event *fsnotify_remove_notify_event(struct fsnotify_group *group
 
 	event = list_first_entry(&group->notification_list,
 				 struct fsnotify_event, list);
-	list_del(&event->list);
+	/*
+	 * We need to init list head for the case of overflow event so that
+	 * check in fsnotify_add_notify_events() works
+	 */
+	list_del_init(&event->list);
 	group->q_len--;
 
 	return event;