Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e63a3690 authored by Nathan Scott's avatar Nathan Scott
Browse files

[XFS] Fix a possible metadata buffer (AGFL) refcount leak when fixing an


AG freelist.

SGI-PV: 952681
SGI-Modid: xfs-linux-melb:xfs-kern:25902a

Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
parent b1ecdda9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1942,8 +1942,10 @@ xfs_alloc_fix_freelist(
		/*
		 * Allocate as many blocks as possible at once.
		 */
		if ((error = xfs_alloc_ag_vextent(&targs)))
		if ((error = xfs_alloc_ag_vextent(&targs))) {
			xfs_trans_brelse(tp, agflbp);
			return error;
		}
		/*
		 * Stop if we run out.  Won't happen if callers are obeying
		 * the restrictions correctly.  Can happen for free calls
@@ -1960,6 +1962,7 @@ xfs_alloc_fix_freelist(
				return error;
		}
	}
	xfs_trans_brelse(tp, agflbp);
	args->agbp = agbp;
	return 0;
}