From: Daeho Jeong <daehoje...@google.com> Fixed null page reference when find_lock_page() fails in redirty_blocks().
Signed-off-by: Daeho Jeong <daehoje...@google.com> Reported-by: Colin Ian King <colin.k...@canonical.com> Fixes: 5fdb322ff2c2 ("f2fs: add F2FS_IOC_DECOMPRESS_FILE and F2FS_IOC_COMPRESS_FILE") --- v2: changed error value and break the loop when error occurs --- fs/f2fs/file.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 9e5275716be8..d27173c24391 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -4060,8 +4060,10 @@ static int redirty_blocks(struct inode *inode, pgoff_t page_idx, int len) for (i = 0; i < page_len; i++, redirty_idx++) { page = find_lock_page(mapping, redirty_idx); - if (!page) - ret = -ENOENT; + if (!page) { + ret = -ENOMEM; + break; + } set_page_dirty(page); f2fs_put_page(page, 1); f2fs_put_page(page, 0); -- 2.29.2.729.g45daf8777d-goog