Commit d8a823c6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Carlos Maiolino
Browse files

xfs: free xfs_busy_extents structure when no RT extents are queued



kmemleak occasionally reports leaking xfs_busy_extents structure
from xfs_scrub calls after running xfs/528 (but attributed to following
tests), which seems to be caused by not freeing the xfs_busy_extents
structure when tr.queued is 0 and xfs_trim_rtgroup_extents breaks out
of the main loop.  Free the structure in this case.

Fixes: a3315d11 ("xfs: use rtgroup busy extent list for FITRIM")
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarCarlos Maiolino <cem@kernel.org>
parent 21ab5179
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -726,8 +726,10 @@ xfs_trim_rtgroup_extents(
			break;
		}

		if (!tr.queued)
		if (!tr.queued) {
			kfree(tr.extents);
			break;
		}

		/*
		 * We hand the extent list to the discard function here so the