mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
[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: Nathan Scott <nathans@sgi.com>
This commit is contained in:
parent
b1ecdda931
commit
e63a369001
1 changed files with 4 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue