On Thu, 10 Feb 2022 18:58:21 +0530
Ani Sinha <[email protected]> wrote:
> When adding E820_RESERVED entries we also accidentally allocate dynamic
> entries. This is incorrect. We should simply return early with the count of
> the number of reserved entries added.
can you expand commit message to explain what's wrong and
how problem manifests ... etc.
>
> fixes: 7d67110f2d9a6("pc: add etc/e820 fw_cfg file")
> cc: [email protected]
> Signed-off-by: Ani Sinha <[email protected]>
> ---
> hw/i386/e820_memory_layout.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/hw/i386/e820_memory_layout.c b/hw/i386/e820_memory_layout.c
> index bcf9eaf837..afb08253a4 100644
> --- a/hw/i386/e820_memory_layout.c
> +++ b/hw/i386/e820_memory_layout.c
> @@ -31,6 +31,8 @@ int e820_add_entry(uint64_t address, uint64_t length,
> uint32_t type)
> entry->type = cpu_to_le32(type);
>
> e820_reserve.count = cpu_to_le32(index);
> +
> + return index;
> }
this changes e820_table size/content, which is added by fw_cfg_add_file() to
fwcfg,
as result it breaks ABI in case of migration.
>
> /* new "etc/e820" file -- include ram too */