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 ...

Jan

Reply via email to