Blob Blame History Raw
From 109728ccc5933151c68d1106e4065478a487a323 Mon Sep 17 00:00:00 2001
From: Kirill Tkhai <ktkhai@virtuozzo.com>
Date: Thu Jul 19 15:49:39 2018 +0300
Subject: [PATCH] fuse: Add missed unlock_page() to fuse_readpages_fill()
Git-commit: 109728ccc5933151c68d1106e4065478a487a323
References: bsc#1106291
Patch-mainline: v4.19-rc1

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>
Acked-by: Goldwyn Rodrigues <rgoldwyn@suse.com>

diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index a201fb0..aa23749 100644

--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -866,6 +866,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;
 	}