summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2020-07-08 14:11:40 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-08-19 09:16:12 +0300
commit936e927ece9bddd9153764c3ae9fb12709593536 (patch)
treee77bd1711fe5f7db568de68282e52599f251117a
parentb7fc8591cae4475cbee3fda24e6e92277122bf9f (diff)
downloadlinux-936e927ece9bddd9153764c3ae9fb12709593536.tar.xz
kernfs: do not call fsnotify() with name without a parent
[ Upstream commit 9991bb84b27a2594187898f261866cfc50255454 ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/kernfs/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c
index e8c792b49616..c35bbaa19486 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);
}