Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fuse: fix possibly missing fuse_copy_finish() call in fuse_notify()

In case of FUSE_NOTIFY_RESEND and FUSE_NOTIFY_INC_EPOCH fuse_copy_finish()
isn't called.

Fix by always calling fuse_copy_finish() after fuse_notify(). It's a no-op
if called a second time.

Fixes: 760eac73f9f6 ("fuse: Introduce a new notification type for resend pending requests")
Fixes: 2396356a945b ("fuse: add more control over cache invalidation behaviour")
Cc: <stable@vger.kernel.org> # v6.9
Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>

+1 -1
+1 -1
fs/fuse/dev.c
··· 2178 2178 */ 2179 2179 if (!oh.unique) { 2180 2180 err = fuse_notify(fc, oh.error, nbytes - sizeof(oh), cs); 2181 - goto out; 2181 + goto copy_finish; 2182 2182 } 2183 2183 2184 2184 err = -EINVAL;