| From: Dave Chinner <dchinner@redhat.com> |
| Date: Tue, 12 Jun 2012 14:20:26 +1000 |
| Subject: xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near |
| |
| commit 76d095388b040229ea1aad7dea45be0cfa20f589 upstream. |
| |
| When we fail to find an matching extent near the requested extent |
| specification during a left-right distance search in |
| xfs_alloc_ag_vextent_near, we fail to free the original cursor that |
| we used to look up the XFS_BTNUM_CNT tree and hence leak it. |
| |
| Reported-by: Chris J Arges <chris.j.arges@canonical.com> |
| Signed-off-by: Dave Chinner <dchinner@redhat.com> |
| Reviewed-by: Christoph Hellwig <hch@lst.de> |
| Signed-off-by: Ben Myers <bpm@sgi.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| fs/xfs/xfs_alloc.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/fs/xfs/xfs_alloc.c |
| +++ b/fs/xfs/xfs_alloc.c |
| @@ -1081,6 +1081,7 @@ restart: |
| goto restart; |
| } |
| |
| + xfs_btree_del_cursor(cnt_cur, XFS_BTREE_NOERROR); |
| trace_xfs_alloc_size_neither(args); |
| args->agbno = NULLAGBLOCK; |
| return 0; |