1
0
Fork 0
alistair23-linux/fs/notify
Jan Kara b1da6a5187 fsnotify: Fix NULL ptr deref in fanotify_get_fsid()
fanotify_get_fsid() is reading mark->connector->fsid under srcu. It can
happen that it sees mark not fully initialized or mark that is already
detached from the object list. In these cases mark->connector
can be NULL leading to NULL ptr dereference. Fix the problem by
being careful when reading mark->connector and check it for being NULL.
Also use WRITE_ONCE when writing the mark just to prevent compiler from
doing something stupid.

Reported-by: syzbot+15927486a4f1bfcbaf91@syzkaller.appspotmail.com
Fixes: 77115225ac ("fanotify: cache fsid in fsnotify_mark_connector")
Signed-off-by: Jan Kara <jack@suse.cz>
2019-04-28 22:14:50 +02:00
..
dnotify Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2018-08-21 13:47:29 -07:00
fanotify fsnotify: Fix NULL ptr deref in fanotify_get_fsid() 2019-04-28 22:14:50 +02:00
inotify inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() 2019-03-11 10:13:17 +01: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
fdinfo.c fsnotify/fdinfo: include fdinfo.h for inotify_show_fdinfo() 2018-11-15 17:34:27 +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: send all event types to super block marks 2019-02-06 15:20:30 +01:00
fsnotify.h fsnotify: add super block object type 2018-09-03 15:14:01 +02:00
group.c fs: fsnotify: account fsnotify metadata to kmemcg 2018-08-17 16:20:30 -07:00
mark.c fsnotify: Fix NULL ptr deref in fanotify_get_fsid() 2019-04-28 22:14:50 +02:00
notification.c fsnotify: Create function to remove event from notification list 2019-02-18 12:41:16 +01:00