Commit faf8ee84 authored by Darrick J. Wong's avatar Darrick J. Wong

xfs: xfs_dabuf_map should return ENOMEM when map allocation fails

If the xfs_buf_map array allocation in xfs_dabuf_map fails for whatever
reason, we bail out with error code zero.  This will confuse callers, so
make sure that we return ENOMEM.  Allocation failure should never happen
with the small size of the array, but code defensively anyway.

Fixes: 45feef8f ("xfs: refactor xfs_dabuf_map")
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
parent 13859c98
...@@ -2521,8 +2521,10 @@ xfs_dabuf_map( ...@@ -2521,8 +2521,10 @@ xfs_dabuf_map(
*/ */
if (nirecs > 1) { if (nirecs > 1) {
map = kmem_zalloc(nirecs * sizeof(struct xfs_buf_map), KM_NOFS); map = kmem_zalloc(nirecs * sizeof(struct xfs_buf_map), KM_NOFS);
if (!map) if (!map) {
error = -ENOMEM;
goto out_free_irecs; goto out_free_irecs;
}
*mapp = map; *mapp = map;
} }
......
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