OpenCloudOS-Kernel/fs/notify
Linus Torvalds d725e66c06 Revert "fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()"
This reverts commit a2673b6e04.

Kinglong Mee reports a memory leak with that patch, and Jan Kara confirms:

 "Thanks for report! You are right that my patch introduces a race
  between fsnotify kthread and fsnotify_destroy_group() which can result
  in leaking inotify event on group destruction.

  I haven't yet decided whether the right fix is not to queue events for
  dying notification group (as that is pointless anyway) or whether we
  should just fix the original problem differently...  Whenever I look
  at fsnotify code mark handling I get lost in the maze of locks, lists,
  and subtle differences between how different notification systems
  handle notification marks :( I'll think about it over night"

and after thinking about it, Jan says:

 "OK, I have looked into the code some more and I found another
  relatively simple way of fixing the original oops.  It will be IMHO
  better than trying to fixup this issue which has more potential for
  breakage.  I'll ask Linus to revert the fsnotify fix he already merged
  and send a new fix"

Reported-by: Kinglong Mee <kinglongmee@gmail.com>
Requested-by: Jan Kara <jack@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-07-21 16:06:53 -07:00
..
dnotify fsnotify: unify inode and mount marks handling 2014-12-13 12:42:53 -08:00
fanotify fanotify: fix event filtering with FAN_ONDIR set 2015-03-12 18:46:08 -07:00
inotify fs/notify: don't use module_init for non-modular inotify_user code 2015-06-16 14:12:34 -04:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
Makefile fs, notify: add procfs fdinfo helper 2012-12-17 17:15:28 -08:00
fdinfo.c fsnotify: unify inode and mount marks handling 2014-12-13 12:42:53 -08:00
fdinfo.h fs: Convert show_fdinfo functions to void 2014-11-05 14:13:23 -05:00
fsnotify.c fsnotify: unify inode and mount marks handling 2014-12-13 12:42:53 -08:00
fsnotify.h fsnotify: unify inode and mount marks handling 2014-12-13 12:42:53 -08:00
group.c fs/notify/group.c: make fsnotify_final_destroy_group() static 2014-10-09 22:25:45 -04:00
inode_mark.c fsnotify: unify inode and mount marks handling 2014-12-13 12:42:53 -08:00
mark.c Revert "fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()" 2015-07-21 16:06:53 -07:00
notification.c fanotify: fix double free of pending permission events 2014-08-06 18:01:12 -07:00
vfsmount_mark.c fsnotify: unify inode and mount marks handling 2014-12-13 12:42:53 -08:00