[PATCH] mm/memblock: Remove redundant pageblock_align() in free_unused_memmap()

From: Zhen Ni

Date: Thu Jun 11 2026 - 23:26:55 EST


The assignment `prev_end = pageblock_align(end)` is redundant because
`prev_end` was already aligned to pageblock oundaries inside the loop.
Since pageblock_align() is a pure function, calling it again with the
same input produces the same result.

This line was added in commit f921f53e089a ("memblock: align freed
memory map on pageblock boundaries with SPARSEMEM"). Remove it to
simplify the code.

Signed-off-by: Zhen Ni <zhen.ni@xxxxxxxxxxxx>
---
mm/memblock.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mm/memblock.c b/mm/memblock.c
index ccd43f3abb82..f50792375604 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -2258,10 +2258,8 @@ static void __init free_unused_memmap(void)
}

#ifdef CONFIG_SPARSEMEM
- if (!IS_ALIGNED(prev_end, PAGES_PER_SECTION)) {
- prev_end = pageblock_align(end);
+ if (!IS_ALIGNED(prev_end, PAGES_PER_SECTION))
free_memmap(prev_end, ALIGN(prev_end, PAGES_PER_SECTION));
- }
#endif
}

--
2.20.1