mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 07:47:50 +00:00
xfs: fix a memory leak in xfs_buf_item_init()
xfs_buf_item_get_format() may allocate memory for bip->bli_formats,
free the memory in the error path.
Fixes: c3d5f0c2fb ("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>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
committed by
Carlos Maiolino
parent
f067250520
commit
fc40459de8
@@ -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!",
|
||||
|
||||
Reference in New Issue
Block a user