On 14.07.25 16:02, Jan Beulich wrote:
On 11.07.2025 14:03, Juergen Gross wrote:e820_get_reserved_pfns() needs to make sure to reserve only page aligned memory areas.Fixes: a7d27a7332ba ("mini-os: add memory map service functions") Signed-off-by: Juergen Gross <jgr...@suse.com>I've committed this, but ...--- a/e820.c +++ b/e820.c @@ -365,7 +365,7 @@ unsigned long e820_get_reserved_pfns(int pages) unsigned long last = 0, needed = (long)pages << PAGE_SHIFT;for ( i = 0; i < e820_entries && e820_map[i].addr < last + needed; i++ )- last = e820_map[i].addr + e820_map[i].size; + last = round_pgup(e820_map[i].addr + e820_map[i].size);if ( i == 0 || e820_map[i - 1].type != E820_TYPE_SOFT_RESERVED )e820_insert_entry_at(i, last, needed, E820_TYPE_SOFT_RESERVED);... I had to resolve fuzz here: There's no E820_TYPE_SOFT_RESERVED in the upstream tree, afaics. I just hope I didn't screw up ...
Oh, I had this on top of my kexec() series. Your adaption is looking fine. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature