Commit 1a092479 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull highmem initialization fix from Mike Rapoport:
 "Fix highmem initialization on arm and xtensa

  Recent refactoring of memblock iterators has broken initialization of
  highmem on arm and xtensa because it changed the way beginning and end
  of memory regions are rounded to PFNs. This fix restores the original
  behaviour"

* tag 'fixes-2020-11-05' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
  ARM, xtensa: highmem: avoid clobbering non-page aligned memory reservations
parents d1dd4612 b9bc3670
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -354,8 +354,8 @@ static void __init free_highpages(void)
	/* set highmem page free */
	for_each_free_mem_range(i, NUMA_NO_NODE, MEMBLOCK_NONE,
				&range_start, &range_end, NULL) {
		unsigned long start = PHYS_PFN(range_start);
		unsigned long end = PHYS_PFN(range_end);
		unsigned long start = PFN_UP(range_start);
		unsigned long end = PFN_DOWN(range_end);

		/* Ignore complete lowmem entries */
		if (end <= max_low)
+2 −2
Original line number Diff line number Diff line
@@ -89,8 +89,8 @@ static void __init free_highpages(void)
	/* set highmem page free */
	for_each_free_mem_range(i, NUMA_NO_NODE, MEMBLOCK_NONE,
				&range_start, &range_end, NULL) {
		unsigned long start = PHYS_PFN(range_start);
		unsigned long end = PHYS_PFN(range_end);
		unsigned long start = PFN_UP(range_start);
		unsigned long end = PFN_DOWN(range_end);

		/* Ignore complete lowmem entries */
		if (end <= max_low)