]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
fuse: fix missing unlock_page in fuse_writepage()
authorVasily Averin <vvs@virtuozzo.com>
Fri, 13 Sep 2019 15:17:11 +0000 (18:17 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 10 Dec 2019 18:01:26 +0000 (18:01 +0000)
commit d5880c7a8620290a6c90ced7a0e8bd0ad9419601 upstream.

unlock_page() was missing in case of an already in-flight write against the
same page.

Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Fixes: ff17be086477 ("fuse: writepage: skip already in flight")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/fuse/file.c

index 43dd3ef4625ad32c8f19e26976e709bb54abbeba..a683fcd16b05f2acab9da75b8be4bd3de4fb0485 100644 (file)
@@ -1767,6 +1767,7 @@ static int fuse_writepage(struct page *page, struct writeback_control *wbc)
                WARN_ON(wbc->sync_mode == WB_SYNC_ALL);
 
                redirty_page_for_writepage(wbc, page);
+               unlock_page(page);
                return 0;
        }