Commit eac8ea8
mm/memblock: repeat setting reserved region nid if array is doubled
Commit 61167ad ("mm: pass nid to reserve_bootmem_region()") introduce
a way to set nid to all reserved region.
But there is a corner case it will leave some region with invalid nid.
When memblock_set_node() doubles the array of memblock.reserved, it may
lead to a new reserved region before current position. The new region
will be left with an invalid node id.
Repeat the process when detecting it.
Fixes: 61167ad ("mm: pass nid to reserve_bootmem_region()")
Signed-off-by: Wei Yang <[email protected]>
CC: Mike Rapoport <[email protected]>
CC: Yajun Deng <[email protected]>
CC: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mike Rapoport (Microsoft) <[email protected]>1 parent 06eaa82 commit eac8ea8
1 file changed
+10
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2183 | 2183 | | |
2184 | 2184 | | |
2185 | 2185 | | |
| 2186 | + | |
2186 | 2187 | | |
2187 | 2188 | | |
2188 | 2189 | | |
2189 | 2190 | | |
2190 | 2191 | | |
| 2192 | + | |
| 2193 | + | |
2191 | 2194 | | |
2192 | 2195 | | |
2193 | 2196 | | |
| |||
2198 | 2201 | | |
2199 | 2202 | | |
2200 | 2203 | | |
| 2204 | + | |
| 2205 | + | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + | |
2201 | 2211 | | |
2202 | 2212 | | |
2203 | 2213 | | |
| |||
0 commit comments