x86-64: fix combining of regions in init_memory_mapping()
When nr_range gets decremented, the same slot must be considered for coalescing with its new successor again. The issue is apparently pretty benign to native code, but surfaces as a boot time crash in our forward ported Xen tree (where the page table setup overall works differently than in native). Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
59ef48a58e
commit
5e72d9e485
|
@ -746,7 +746,7 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
|
|||
old_start = mr[i].start;
|
||||
memmove(&mr[i], &mr[i+1],
|
||||
(nr_range - 1 - i) * sizeof (struct map_range));
|
||||
mr[i].start = old_start;
|
||||
mr[i--].start = old_start;
|
||||
nr_range--;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue