|
|
@@ -988,7 +988,8 @@ static int pcpu_alloc_area(struct pcpu_chunk *chunk, int alloc_bits,
|
|
|
/*
|
|
|
* Search to find a fit.
|
|
|
*/
|
|
|
- end = start + alloc_bits + PCPU_BITMAP_BLOCK_BITS;
|
|
|
+ end = min_t(int, start + alloc_bits + PCPU_BITMAP_BLOCK_BITS,
|
|
|
+ pcpu_chunk_map_bits(chunk));
|
|
|
bit_off = bitmap_find_next_zero_area(chunk->alloc_map, end, start,
|
|
|
alloc_bits, align_mask);
|
|
|
if (bit_off >= end)
|