[PATCH] xfs: Fix a memory leak bug in xfs_buf_item_init()

Haoxiang Li posted 1 patch 1 week, 5 days ago
fs/xfs/xfs_buf_item.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] xfs: Fix a memory leak bug in xfs_buf_item_init()
Posted by Haoxiang Li 1 week, 5 days ago
xfs_buf_item_get_format() may allocate memory for bip->bli_formats,
free the memory in the error path.

Fixes: c3d5f0c2fb85 ("xfs: complain if anyone tries to create a too-large buffer log item")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
---
 fs/xfs/xfs_buf_item.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c
index 8d85b5eee444..f4c5be67826e 100644
--- a/fs/xfs/xfs_buf_item.c
+++ b/fs/xfs/xfs_buf_item.c
@@ -896,6 +896,7 @@ xfs_buf_item_init(
 		map_size = DIV_ROUND_UP(chunks, NBWORD);
 
 		if (map_size > XFS_BLF_DATAMAP_SIZE) {
+			xfs_buf_item_free_format(bip);
 			kmem_cache_free(xfs_buf_item_cache, bip);
 			xfs_err(mp,
 	"buffer item dirty bitmap (%u uints) too small to reflect %u bytes!",
-- 
2.25.1
Re: [PATCH] xfs: Fix a memory leak bug in xfs_buf_item_init()
Posted by Christoph Hellwig 1 week, 4 days ago
s/memory leak bug/memory leak/ in the subject.

Otherwise looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>