mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 10:10:33 +02:00 
			
		
		
		
	xfs: fix off-by-one error in xfs_rtalloc_query_range
In commit 8ad560d256 ("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
					
				
					 1 changed files with 2 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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…
	
		Reference in a new issue