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

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to