Re: [PATCH v2 10/13] arch, mm: set high_memory in free_area_init()

From: Andrew Morton
Date: Wed Apr 02 2025 - 18:20:00 EST


On Wed, 2 Apr 2025 23:18:55 +0300 Mike Rapoport <rppt@xxxxxxxxxx> 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@xxxxxxxxxx/

That fix is now in mm-stable for a second round of merge window
material. I'll send that off to Linus later today.