From: Ahelenia Ziemiańska Date: Mon, 3 Jul 2023 14:42:21 +0000 (+0200) Subject: splice: fsnotify_access(in), fsnotify_modify(out) on success in tee X-Git-Tag: v6.4.16~630 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c079dd85f33ce2b44452351afb4c16ab8e1e040;p=thirdparty%2Fkernel%2Fstable.git splice: fsnotify_access(in), fsnotify_modify(out) on success in tee [ Upstream commit 576d498e0ac5caff2d9f6312573ab54d98f12d32 ] Same logic applies here: this can fill up the pipe, and pollers that rely on getting IN_MODIFY notifications never wake up. Fixes: 983652c69199 ("splice: report related fsnotify events") Link: https://lore.kernel.org/linux-fsdevel/jbyihkyk5dtaohdwjyivambb2gffyjs3dodpofafnkkunxq7bu@jngkdxx65pux/t/#u Link: https://bugs.debian.org/1039488 Signed-off-by: Ahelenia Ziemiańska Acked-by: Jan Kara Reviewed-by: Amir Goldstein Message-Id: <10d76dd8c85017ae3cd047c9b9a32e26daefdaa2.1688393619.git.nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Christian Brauner Signed-off-by: Sasha Levin --- diff --git a/fs/splice.c b/fs/splice.c index c08eb445a1d20..3ae2de263e806 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1815,6 +1815,11 @@ long do_tee(struct file *in, struct file *out, size_t len, unsigned int flags) } } + if (ret > 0) { + fsnotify_access(in); + fsnotify_modify(out); + } + return ret; }