diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index d40e58bd7c16..cea02c9258f1 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -690,6 +690,10 @@ static void fuse_copy_finish(struct fuse_copy_state *cs) flush_dcache_page(cs->pg); set_page_dirty_lock(cs->pg); } + /* + * The page could be GUP page(see iov_iter_get_pages in + * fuse_copy_fill) so use put_page to release it. + */ put_page(cs->pg); } cs->pg = NULL;