Re: [PATCH v3] x86/e820: Fix handling of subpage regions when calculating nosave ranges

From: Ingo Molnar
Date: Sun Apr 06 2025 - 14:23:51 EST



* Myrrh Periwinkle <myrrhperiwinkle@xxxxxxxxxxx> wrote:

> The current implementation of e820__register_nosave_regions suffers from
> multiple serious issues:
> - The end of last region is tracked by PFN, causing it to find holes
> that aren't there if two consecutive subpage regions are present
> - The nosave PFN ranges derived from holes are rounded out (instead of
> rounded in) which makes it inconsistent with how explicitly reserved
> regions are handled
>
> Fix this by:
> - Treating reserved regions as if they were holes, to ensure consistent
> handling (rounding out nosave PFN ranges is more correct as the
> kernel does not use partial pages)
> - Tracking the end of the last RAM region by address instead of pages
> to detect holes more precisely
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: e5540f875404 ("x86/boot/e820: Consolidate 'struct e820_entry *entry' local variable names")

So why is this SHA1 indicated as the root cause? AFAICS that commit
does nothing but cleanups, so it cannot cause such regressions.

Thanks,

Ingo