summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>2023-07-24 23:43:20 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-08-11 11:54:00 +0200
commita65e7b4b31caaa635fdb95e0ca08b6c64049a4f2 (patch)
tree9e46ea76b2619dbc611a7fdac537dfd857463363
parentf8cf0f83cf041bb6d4ae933eb97ed4c76adc3685 (diff)
downloadlinux-stable-a65e7b4b31caaa635fdb95e0ca08b6c64049a4f2.tar.gz
linux-stable-a65e7b4b31caaa635fdb95e0ca08b6c64049a4f2.tar.bz2
linux-stable-a65e7b4b31caaa635fdb95e0ca08b6c64049a4f2.zip
powerpc/mm/altmap: Fix altmap boundary check
[ Upstream commit 6722b25712054c0f903b839b8f5088438dd04df3 ] 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: 9ef34630a461 ("powerpc/mm: Fallback to RAM if the altmap is unusable") Signed-off-by: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230724181320.471386-1-aneesh.kumar@linux.ibm.com Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--arch/powerpc/mm/init_64.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index e4fb5ab41e2d..cfb97fabd532 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -279,8 +279,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);