The filemap_lock_folio() never returns NULL. It returns error pointers. Update the checking to match. Fixes: 483239f03149 ("ceph: convert ceph_zero_partial_page() to use a folio") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- fs/ceph/file.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/ceph/file.c b/fs/ceph/file.c index d5c674d2ba8a..f6e63265c516 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -2536,12 +2536,13 @@ static inline void ceph_zero_partial_page(struct inode *inode, struct folio *folio; folio = filemap_lock_folio(inode->i_mapping, offset >> PAGE_SHIFT); - if (folio) { - folio_wait_writeback(folio); - folio_zero_range(folio, offset_in_folio(folio, offset), size); - folio_unlock(folio); - folio_put(folio); - } + if (IS_ERR(folio)) + return; + + folio_wait_writeback(folio); + folio_zero_range(folio, offset_in_folio(folio, offset), size); + folio_unlock(folio); + folio_put(folio); } static void ceph_zero_pagecache_range(struct inode *inode, loff_t offset, -- 2.47.2