diff options
author | Amir Goldstein <amir73il@gmail.com> | 2020-07-08 13:11:40 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2020-07-15 17:36:52 +0200 |
commit | 9991bb84b27a2594187898f261866cfc50255454 (patch) | |
tree | 14c649eff406a4d139bfdb16f38ea430f4cc69a2 /fs/kernfs | |
parent | nfsd: use fsnotify_data_inode() to get the unlinked inode (diff) | |
download | linux-9991bb84b27a2594187898f261866cfc50255454.tar.xz linux-9991bb84b27a2594187898f261866cfc50255454.zip |
kernfs: do not call fsnotify() with name without a parent
When creating an FS_MODIFY event on inode itself (not on parent)
the file_name argument should be NULL.
The change to send a non NULL name to inode itself was done on purpuse
as part of another commit, as Tejun writes: "...While at it, supply the
target file name to fsnotify() from kernfs_node->name.".
But this is wrong practice and inconsistent with inotify behavior when
watching a single file. When a child is being watched (as opposed to the
parent directory) the inotify event should contain the watch descriptor,
but not the file name.
Fixes: df6a58c5c5aa ("kernfs: don't depend on d_find_any_alias()...")
Link: https://lore.kernel.org/r/20200708111156.24659-5-amir73il@gmail.com
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/kernfs')
-rw-r--r-- | fs/kernfs/file.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 06b342d8462b..e23b3f62483c 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c @@ -912,7 +912,7 @@ repeat: } fsnotify(inode, FS_MODIFY, inode, FSNOTIFY_EVENT_INODE, - &name, 0); + NULL, 0); iput(inode); } |