fsnotify: generalize handle_inode_event()
authorAmir Goldstein <amir73il@gmail.com>
Wed, 2 Dec 2020 12:07:07 +0000 (14:07 +0200)
committerJan Kara <jack@suse.cz>
Thu, 3 Dec 2020 13:58:35 +0000 (14:58 +0100)
commit950cc0d2bef078e1f6459900ca4d4b2a2e0e3c37
treebf5632aebfd01ec14639eff7755999ea1cfd3d9a
parent92890123749bafc317bbfacbe0a62ce08d78efb7
fsnotify: generalize handle_inode_event()

The handle_inode_event() interface was added as (quoting comment):
"a simple variant of handle_event() for groups that only have inode
marks and don't have ignore mask".

In other words, all backends except fanotify.  The inotify backend
also falls under this category, but because it required extra arguments
it was left out of the initial pass of backends conversion to the
simple interface.

This results in code duplication between the generic helper
fsnotify_handle_event() and the inotify_handle_event() callback
which also happen to be buggy code.

Generalize the handle_inode_event() arguments and add the check for
FS_EXCL_UNLINK flag to the generic helper, so inotify backend could
be converted to use the simple interface.

Link: https://lore.kernel.org/r/20201202120713.702387-2-amir73il@gmail.com
CC: stable@vger.kernel.org
Fixes: b9a1b9772509 ("fsnotify: create method handle_inode_event() in fsnotify_operations")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/nfsd/filecache.c
fs/notify/dnotify/dnotify.c
fs/notify/fsnotify.c
include/linux/fsnotify_backend.h
kernel/audit_fsnotify.c
kernel/audit_tree.c
kernel/audit_watch.c