Commit 6722b257 authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Michael Ellerman
Browse files

powerpc/mm/altmap: Fix altmap boundary check



altmap->free includes the entire free space from which altmap blocks
can be allocated. So when checking whether the kernel is doing altmap
block free, compute the boundary correctly, otherwise memory hotunplug
can fail.

Fixes: 9ef34630 ("powerpc/mm: Fallback to RAM if the altmap is unusable")
Signed-off-by: default avatar"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230724181320.471386-1-aneesh.kumar@linux.ibm.com
parent 106ea7ff
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -314,8 +314,7 @@ void __ref vmemmap_free(unsigned long start, unsigned long end,
	start = ALIGN_DOWN(start, page_size);
	if (altmap) {
		alt_start = altmap->base_pfn;
		alt_end = altmap->base_pfn + altmap->reserve +
			  altmap->free + altmap->alloc + altmap->align;
		alt_end = altmap->base_pfn + altmap->reserve + altmap->free;
	}

	pr_debug("vmemmap_free %lx...%lx\n", start, end);