]> git.baikalelectronics.ru Git - kernel.git/commit
inotify: Avoid reporting event with invalid wd
authorJan Kara <jack@suse.cz>
Mon, 24 Apr 2023 16:32:19 +0000 (18:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:36:01 +0000 (11:36 +0200)
commit27a22f0fbd8d1c00384295cabaf743526b4197f7
tree9216c457d59b2f40e5f4add44005f17f84038fba
parentc00e31ad791bb50572c6e928fe4eb2fcc6764bda
inotify: Avoid reporting event with invalid wd

commit c915d8f5918bea7c3962b09b8884ca128bfd9b0c upstream.

When inotify_freeing_mark() races with inotify_handle_inode_event() it
can happen that inotify_handle_inode_event() sees that i_mark->wd got
already reset to -1 and reports this value to userspace which can
confuse the inotify listener. Avoid the problem by validating that wd is
sensible (and pretend the mark got removed before the event got
generated otherwise).

CC: stable@vger.kernel.org
Fixes: cbb36f453190 ("inotify: fix error paths in inotify_update_watch")
Message-Id: <20230424163219.9250-1-jack@suse.cz>
Reported-by: syzbot+4a06d4373fd52f0b2f9c@syzkaller.appspotmail.com
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/notify/inotify/inotify_fsnotify.c