fuse: Add missed unlock_page() to fuse_readpages_fill()
authorKirill Tkhai <ktkhai@virtuozzo.com>
Thu, 19 Jul 2018 12:49:39 +0000 (15:49 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Sep 2018 07:20:08 +0000 (09:20 +0200)
commit 109728ccc5933151c68d1106e4065478a487a323 upstream.

The above error path returns with page unlocked, so this place seems also
to behave the same.

Fixes: f8dbdf81821b ("fuse: rework fuse_readpages()")
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/fuse/file.c

index 996aa23..4408abf 100644 (file)
@@ -868,6 +868,7 @@ static int fuse_readpages_fill(void *_data, struct page *page)
        }
 
        if (WARN_ON(req->num_pages >= req->max_pages)) {
+               unlock_page(page);
                fuse_put_request(fc, req);
                return -EIO;
        }