Commit b6898917 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: Check for ERR_PTR() from filemap_lock_folio()

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 1bb3c2a9
...@@ -124,7 +124,7 @@ static int filemap_get_contig_folios_d(struct address_space *mapping, ...@@ -124,7 +124,7 @@ static int filemap_get_contig_folios_d(struct address_space *mapping,
break; break;
f = __filemap_get_folio(mapping, pos >> PAGE_SHIFT, fgp_flags, gfp); f = __filemap_get_folio(mapping, pos >> PAGE_SHIFT, fgp_flags, gfp);
if (!f) if (IS_ERR_OR_NULL(f))
break; break;
BUG_ON(folios->nr && folio_pos(f) != pos); BUG_ON(folios->nr && folio_pos(f) != pos);
...@@ -1764,7 +1764,7 @@ int bch2_write_begin(struct file *file, struct address_space *mapping, ...@@ -1764,7 +1764,7 @@ int bch2_write_begin(struct file *file, struct address_space *mapping,
folio = __filemap_get_folio(mapping, pos >> PAGE_SHIFT, folio = __filemap_get_folio(mapping, pos >> PAGE_SHIFT,
FGP_LOCK|FGP_WRITE|FGP_CREAT|FGP_STABLE, FGP_LOCK|FGP_WRITE|FGP_CREAT|FGP_STABLE,
mapping_gfp_mask(mapping)); mapping_gfp_mask(mapping));
if (!folio) if (IS_ERR_OR_NULL(folio))
goto err_unlock; goto err_unlock;
if (folio_test_uptodate(folio)) if (folio_test_uptodate(folio))
...@@ -2852,7 +2852,7 @@ static int __bch2_truncate_folio(struct bch_inode_info *inode, ...@@ -2852,7 +2852,7 @@ static int __bch2_truncate_folio(struct bch_inode_info *inode,
u64 end_pos; u64 end_pos;
folio = filemap_lock_folio(mapping, index); folio = filemap_lock_folio(mapping, index);
if (!folio) { if (IS_ERR_OR_NULL(folio)) {
/* /*
* XXX: we're doing two index lookups when we end up reading the * XXX: we're doing two index lookups when we end up reading the
* folio * folio
...@@ -2865,7 +2865,7 @@ static int __bch2_truncate_folio(struct bch_inode_info *inode, ...@@ -2865,7 +2865,7 @@ static int __bch2_truncate_folio(struct bch_inode_info *inode,
folio = __filemap_get_folio(mapping, index, folio = __filemap_get_folio(mapping, index,
FGP_LOCK|FGP_CREAT, GFP_KERNEL); FGP_LOCK|FGP_CREAT, GFP_KERNEL);
if (unlikely(!folio)) { if (unlikely(IS_ERR_OR_NULL(folio))) {
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
} }
...@@ -3788,7 +3788,7 @@ static bool folio_hole_offset(struct address_space *mapping, loff_t *offset) ...@@ -3788,7 +3788,7 @@ static bool folio_hole_offset(struct address_space *mapping, loff_t *offset)
bool ret = true; bool ret = true;
folio = filemap_lock_folio(mapping, *offset >> PAGE_SHIFT); folio = filemap_lock_folio(mapping, *offset >> PAGE_SHIFT);
if (!folio) if (IS_ERR_OR_NULL(folio))
return true; return true;
s = bch2_folio(folio); s = bch2_folio(folio);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment