fsnotify: fix false positive warning on inode delete
authorJan Kara <jack@suse.cz>
Mon, 20 Aug 2018 11:55:45 +0000 (13:55 +0200)
committerJan Kara <jack@suse.cz>
Mon, 20 Aug 2018 11:55:45 +0000 (13:55 +0200)
commitd3bc0fa8411c35194f99046157e2e26fe60e1d91
treef2aaa5ecaec7b925cc3413d8de564bc9f01ed14b
parent2ad0d52699700a91660a406a4046017a2d7f246a
fsnotify: fix false positive warning on inode delete

When inode is getting deleted and someone else holds reference to a mark
attached to the inode, we just detach the connector from the inode. In
that case fsnotify_put_mark() called from fsnotify_destroy_marks() will
decide to recalculate mask for the inode and __fsnotify_recalc_mask()
will WARN about invalid connector type:

WARNING: CPU: 1 PID: 12015 at fs/notify/mark.c:139
__fsnotify_recalc_mask+0x2d7/0x350 fs/notify/mark.c:139

Actually there's no reason to warn about detached connector in
__fsnotify_recalc_mask() so just silently skip updating the mask in such
case.

Reported-by: syzbot+c34692a51b9a6ca93540@syzkaller.appspotmail.com
Fixes: 3ac70bfcde81 ("fsnotify: add helper to get mask from connector")
Signed-off-by: Jan Kara <jack@suse.cz>
fs/notify/mark.c