aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShu Wang <shuwang@redhat.com>2017-11-27 11:47:07 -0600
committerEric Sandeen <sandeen@redhat.com>2017-11-27 11:47:07 -0600
commitc822b63d201b0f683f915de217930cf9b5cf7482 (patch)
tree8cdbab69533fe7673f1deaf75e5b5a755d7e0eb3
parent04842327d74016b539e83a237e90631fe89d3511 (diff)
downloadxfsprogs-dev-c822b63d201b0f683f915de217930cf9b5cf7482.tar.gz
xfs: fix memory leak in xfs_iext_free_last_leaf
Source kernel commit: 6818caa4cdc95d9ec5642a4439f8271a80189b48 found the issue by kmemleak. unreferenced object 0xffff8800674611c0 (size 16): xfs_iext_insert+0x82a/0xa90 [xfs] xfs_bmap_add_extent_hole_delay+0x1e5/0x5b0 [xfs] xfs_bmapi_reserve_delalloc+0x483/0x530 [xfs] xfs_file_iomap_begin+0xac8/0xd40 [xfs] iomap_apply+0xb8/0x1b0 iomap_file_buffered_write+0xac/0xe0 xfs_file_buffered_aio_write+0x198/0x420 [xfs] xfs_file_write_iter+0x23f/0x2a0 [xfs] __vfs_write+0x23e/0x340 vfs_write+0xe9/0x240 SyS_write+0xa1/0x120 do_syscall_64+0xda/0x260 Signed-off-by: Shu Wang <shuwang@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
-rw-r--r--libxfs/xfs_iext_tree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libxfs/xfs_iext_tree.c b/libxfs/xfs_iext_tree.c
index 3954341af5..3fcda5fa21 100644
--- a/libxfs/xfs_iext_tree.c
+++ b/libxfs/xfs_iext_tree.c
@@ -850,9 +850,9 @@ static void
xfs_iext_free_last_leaf(
struct xfs_ifork *ifp)
{
- ifp->if_u1.if_root = NULL;
ifp->if_height--;
kmem_free(ifp->if_u1.if_root);
+ ifp->if_u1.if_root = NULL;
}
void