[PATCH] ubifs: fix read fail but return ok

From: wangfangpeng
Date: Wed Mar 31 2021 - 02:28:35 EST


do_readpage() may return err, but ubifs_readpage() always return ok.
The vfs will ignore the err happen in ubifs.

Fixes: 1e51764a3c2ac05a2 ("UBIFS: add new flash file system")
Cc: <stable@xxxxxxxxxxxxxxx> #v2.6.27
Signed-off-by: wangfangpeng <wangfangpeng1@xxxxxxxxxx>
---
fs/ubifs/file.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 0e4b4be3aa26..001feec1d415 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -892,11 +892,13 @@ static int ubifs_bulk_read(struct page *page)

static int ubifs_readpage(struct file *file, struct page *page)
{
+ int ret;
+
if (ubifs_bulk_read(page))
return 0;
- do_readpage(page);
+ ret = do_readpage(page);
unlock_page(page);
- return 0;
+ return ret;
}

static int do_writepage(struct page *page, int len)
--
2.12.3