summaryrefslogtreecommitdiffstats
path: root/fs/iomap
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-11-07 16:28:18 +0100
committerDarrick J. Wong <darrick.wong@oracle.com>2019-11-08 16:44:12 +0100
commit2b91b28e29f6491efbe77694c17465a3054f37cf (patch)
tree415c08553a18e3645e3bf6de6f6997d9d02d4184 /fs/iomap
parentiomap: Fix overflow in iomap_page_mkwrite (diff)
downloadlinux-2b91b28e29f6491efbe77694c17465a3054f37cf.tar.xz
linux-2b91b28e29f6491efbe77694c17465a3054f37cf.zip
iomap: iomap_bmap should check iomap_apply return value
Coverity caught this fairly minor bug, but we should check the return value of iomap_apply regardless. Coverity-id: 1437065 Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/iomap')
-rw-r--r--fs/iomap/fiemap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/iomap/fiemap.c b/fs/iomap/fiemap.c
index 690ef2d7c6c8..bccf305ea9ce 100644
--- a/fs/iomap/fiemap.c
+++ b/fs/iomap/fiemap.c
@@ -133,12 +133,16 @@ iomap_bmap(struct address_space *mapping, sector_t bno,
struct inode *inode = mapping->host;
loff_t pos = bno << inode->i_blkbits;
unsigned blocksize = i_blocksize(inode);
+ int ret;
if (filemap_write_and_wait(mapping))
return 0;
bno = 0;
- iomap_apply(inode, pos, blocksize, 0, ops, &bno, iomap_bmap_actor);
+ ret = iomap_apply(inode, pos, blocksize, 0, ops, &bno,
+ iomap_bmap_actor);
+ if (ret)
+ return 0;
return bno;
}
EXPORT_SYMBOL_GPL(iomap_bmap);