[PATCH] gfs2: Fix error pointer dereference

Ethan Tidmore <[email protected]>
Newsgroups dev.linux.lists.gfs2,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
The function __filemap_get_folio() can return an error pointer and is
not checked for one. Add check for error pointer.

Detected by Smatch:
fs/gfs2/meta_io.c:147 gfs2_getbuf() error:
'folio' dereferencing possible ERR_PTR()

Fixes: 0eb751791df86 ("gfs2: convert gfs2_getbuf() to folios")
Signed-off-by: Ethan Tidmore <[email protected]>
---
 fs/gfs2/meta_io.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 3c8e4553102d..9c0ba4c3cb29 100644
--- a/fs/gfs2/meta_io.c
+++ b/fs/gfs2/meta_io.c
@@ -144,6 +144,8 @@ struct buffer_head *gfs2_getbuf(struct gfs2_glock *gl, u64 blkno, int create)
 		folio = __filemap_get_folio(mapping, index,
 				FGP_LOCK | FGP_ACCESSED | FGP_CREAT,
 				mapping_gfp_mask(mapping) | __GFP_NOFAIL);
+		if (IS_ERR(folio))
+			return NULL;
 		bh = folio_buffers(folio);
 		if (!bh)
 			bh = create_empty_buffers(folio,
-- 
2.53.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.