Author: wuguanghao <wuguanghao3@huawei.com> Date: Mon Mar 14 20:12:17 2022 +0800 (cherry picked from commit feb7ea39582af46f13599e1678473c98965b05c7)
42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
From a2a0a99a70b02649250fe2c50ef9546f9e306d44 Mon Sep 17 00:00:00 2001
|
|
From: "Darrick J. Wong" <darrick.wong@oracle.com>
|
|
Date: Fri, 1 May 2020 17:37:09 -0400
|
|
Subject: [PATCH] xfs: xfs_dabuf_map should return ENOMEM when map allocation
|
|
fails
|
|
|
|
Source kernel commit: faf8ee8476c19b30fd16079ad616b2b0f56eaff4
|
|
|
|
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: 45feef8f50b94d ("xfs: refactor xfs_dabuf_map")
|
|
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
|
|
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
|
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
|
|
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
|
|
---
|
|
libxfs/xfs_da_btree.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
|
|
index d785312f..4e909caa 100644
|
|
--- a/libxfs/xfs_da_btree.c
|
|
+++ b/libxfs/xfs_da_btree.c
|
|
@@ -2518,8 +2518,10 @@ xfs_dabuf_map(
|
|
*/
|
|
if (nirecs > 1) {
|
|
map = kmem_zalloc(nirecs * sizeof(struct xfs_buf_map), KM_NOFS);
|
|
- if (!map)
|
|
+ if (!map) {
|
|
+ error = -ENOMEM;
|
|
goto out_free_irecs;
|
|
+ }
|
|
*mapp = map;
|
|
}
|
|
|
|
--
|
|
2.27.0
|
|
|