linux/fs/notify
Miklos Szeredi 9e9569f05e fsnotify: pin both inode and vfsmount mark
commit 0d6ec079d6 upstream.

We may fail to pin one of the marks in fsnotify_prepare_user_wait() when
dropping the srcu read lock, resulting in use after free at the next
iteration.

Solution is to store both marks in iter_info instead of just the one we'll
be sending the event for.

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: 9385a84d7e ("fsnotify: Pass fsnotify_iter_info into handle_event handler")
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-11-30 08:40:47 +00:00
..
dnotify fsnotify: make dnotify_fsnotify_ops const 2017-08-30 16:02:48 +02:00
fanotify fanotify: fix fsnotify_prepare_user_wait() failure 2017-11-30 08:40:45 +00:00
inotify License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fdinfo.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fdinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsnotify.c fsnotify: pin both inode and vfsmount mark 2017-11-30 08:40:47 +00:00
fsnotify.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
group.c fsnotify: Remove fsnotify_detach_group_marks() 2017-04-10 17:37:36 +02:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mark.c fsnotify: clean up fsnotify_prepare/finish_user_wait() 2017-11-30 08:40:47 +00:00
notification.c fsnotify: clean up spinlock assertions 2016-10-07 18:46:26 -07:00