]> www.infradead.org Git - users/dwmw2/linux.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Oct 2019 11:14:04 +0000 (13:14 +0200)
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")
Cc: <stable@vger.kernel.org> # v3.13
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/fuse/file.c

index b8f9c83835d5235ac11116d8efba4f47f5885c7f..fdff7bf4fa4f8e75dfcc6d8d21636c0365d70fdd 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;
        }