On 10/8/19 1:33 PM, Igor Mammedov wrote:
> machine_hppa_init() violates memory_region_allocate_system_memory() contract
> by calling it multiple times which could break with -mem-path. Replace
> the second usage (for 'rom') with memory_region_init_ram() instead.
>
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> ---
> hw/hppa/machine.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> index 7e23675429..953d454f48 100644
> --- a/hw/hppa/machine.c
> +++ b/hw/hppa/machine.c
> @@ -161,9 +161,8 @@ static void machine_hppa_init(MachineState *machine)
> g_free(firmware_filename);
>
> rom_region = g_new(MemoryRegion, 1);
> - memory_region_allocate_system_memory(rom_region, OBJECT(machine),
> - "firmware",
> - (FIRMWARE_END - FIRMWARE_START));
> + memory_region_init_ram(rom_region, NULL, "firmware",
> + (FIRMWARE_END - FIRMWARE_START), &error_fatal);
> memory_region_add_subregion(addr_space, FIRMWARE_START, rom_region);
>
> /* Load kernel */
>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>