fanotify: Support null inode event in fanotify_dfid_inode

FAN_FS_ERROR doesn't support DFID, but this function is still called for
every event.  The problem is that it is not capable of handling null
inodes, which now can happen in case of superblock error events.  For
this case, just returning dir will be enough.

Link: https://lore.kernel.org/r/20211025192746.66445-14-krisman@collabora.com
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
Gabriel Krisman Bertazi 2021-10-25 16:27:28 -03:00 коммит произвёл Jan Kara
Родитель 330ae77d2a
Коммит 12f47bf0f0
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -452,7 +452,7 @@ static struct inode *fanotify_dfid_inode(u32 event_mask, const void *data,
if (event_mask & ALL_FSNOTIFY_DIRENT_EVENTS)
return dir;
if (S_ISDIR(inode->i_mode))
if (inode && S_ISDIR(inode->i_mode))
return inode;
return dir;