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.
fixes: 7d67110f2d9a6("pc: add etc/e820 fw_cfg file") cc: kra...@redhat.com Signed-off-by: Ani Sinha <a...@anisinha.ca> --- 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; } /* new "etc/e820" file -- include ram too */ -- 2.25.1