mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-11 06:16:10 +00:00
xfs: fix off-by-one error in xfs_rtalloc_query_range
In commit 8ad560d2565e6 ("xfs: strengthen rtalloc query range checks") we strengthened the input parameter checks in the rtbitmap range query function, but introduced an off-by-one error in the process. The call to xfs_rtfind_forw deals with the high key being rextents, but we clamp the high key to rextents - 1. This causes the returned results to stop one block short of the end of the rtdev, which is incorrect. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Allison Henderson <allison.henderson@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
232d0a24b0
commit
a3a374bf18
@ -1029,8 +1029,8 @@ xfs_rtalloc_query_range(
|
||||
if (low_rec->ar_startext >= mp->m_sb.sb_rextents ||
|
||||
low_rec->ar_startext == high_rec->ar_startext)
|
||||
return 0;
|
||||
if (high_rec->ar_startext >= mp->m_sb.sb_rextents)
|
||||
high_rec->ar_startext = mp->m_sb.sb_rextents - 1;
|
||||
if (high_rec->ar_startext > mp->m_sb.sb_rextents)
|
||||
high_rec->ar_startext = mp->m_sb.sb_rextents;
|
||||
|
||||
/* Iterate the bitmap, looking for discrepancies. */
|
||||
rtstart = low_rec->ar_startext;
|
||||
|
Loading…
x
Reference in New Issue
Block a user