On Wed, 2 Apr 2025 23:18:55 +0300 Mike Rapoport rppt@kernel.org wrote:
The proper fix is
diff --git a/mm/memblock.c b/mm/memblock.c index 64ae678cd1d1..d7ff8dfe5f88 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -2166,6 +2166,9 @@ static unsigned long __init __free_memory_core(phys_addr_t start, unsigned long start_pfn = PFN_UP(start); unsigned long end_pfn = PFN_DOWN(end);
- if (!IS_ENABLED(CONFIG_HIGHMEM) && end_pfn > max_low_pfn)
end_pfn = max_low_pfn;
- if (start_pfn >= end_pfn) return 0;
I've sent it along with the fix for x86 [1] (commit 7790c9c9265e ("memblock: don't release high memory to page allocator when HIGHMEM is off") in mm-unstable), but for some reason it didn't make it to the Linus tree :/
@Andrew, are you going to send it to Linus or you prefer if I take it via memblock tree?
[1] https://lore.kernel.org/all/20250325114928.1791109-3-rppt@kernel.org/
That fix is now in mm-stable for a second round of merge window material. I'll send that off to Linus later today.