]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.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)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 18 Oct 2019 08:26:05 +0000 (04:26 -0400)
BugLink: https://bugs.launchpad.net/bugs/1848046
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>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
fs/fuse/file.c

index 5ae2828beb003b693ab039d9f1f157ae6517f500..91c99724dee0b4a9bb57e1663a02394400854425 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;
        }