mm/memblock.c: fix memblock_next_valid_pfn()
Obviously, we should not access memblock.memory.regions[right] if
'right' is outside of [0..memblock.memory.cnt>.
Fixes: b92df1de5d ("mm: page_alloc: skip over regions of invalid pfns where possible")
Link: http://lkml.kernel.org/r/20170303023745.9104-1-takahiro.akashi@linaro.org
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
			
			
This commit is contained in:
		
				
					committed by
					
						 Linus Torvalds
						Linus Torvalds
					
				
			
			
				
	
			
			
			
						parent
						
							46aa6a302b
						
					
				
				
					commit
					c9a1b80dae
				
			| @@ -1118,7 +1118,10 @@ unsigned long __init_memblock memblock_next_valid_pfn(unsigned long pfn, | ||||
| 		} | ||||
| 	} while (left < right); | ||||
| 
 | ||||
| 	return min(PHYS_PFN(type->regions[right].base), max_pfn); | ||||
| 	if (right == type->cnt) | ||||
| 		return max_pfn; | ||||
| 	else | ||||
| 		return min(PHYS_PFN(type->regions[right].base), max_pfn); | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user