mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
f2fs: fix to return correct error number in f2fs_sync_node_pages()
If __write_node_folio() failed, it will return AOP_WRITEPAGE_ACTIVATE,
the incorrect return value may be passed to userspace in below path,
fix it.
- sync_filesystem
- sync_fs
- f2fs_issue_checkpoint
- block_operations
- f2fs_sync_node_pages
- __write_node_folio
: return AOP_WRITEPAGE_ACTIVATE
Cc: stable@vger.kernel.org
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
0427e811c9
commit
43ba56a043
|
|
@ -2092,10 +2092,14 @@ int f2fs_sync_node_pages(struct f2fs_sb_info *sbi,
|
|||
|
||||
ret = __write_node_folio(folio, false, &submitted,
|
||||
wbc, do_balance, io_type, NULL);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
folio_unlock(folio);
|
||||
else if (submitted)
|
||||
folio_batch_release(&fbatch);
|
||||
ret = -EIO;
|
||||
goto out;
|
||||
} else if (submitted) {
|
||||
nwritten++;
|
||||
}
|
||||
|
||||
if (--wbc->nr_to_write == 0)
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user