* David Hildenbrand (david@redhat.com) wrote:
> The "at" should actually be a "before".
> if (new_addr < address_space_start)
> -> "can't add memory ... before... $address_space_start"
>
> So it looks similar to the other check
> } else if ((new_addr + size) > address_space_end)
> -> "can't add memory ... beyond..."
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> hw/mem/memory-device.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c
> index 6de4f70bb4..efacbc2a7d 100644
> --- a/hw/mem/memory-device.c
> +++ b/hw/mem/memory-device.c
> @@ -146,7 +146,8 @@ uint64_t memory_device_get_free_addr(MachineState *ms, const uint64_t *hint,
> new_addr = *hint;
> if (new_addr < address_space_start) {
> error_setg(errp, "can't add memory [0x%" PRIx64 ":0x%" PRIx64
> - "] at 0x%" PRIx64, new_addr, size, address_space_start);
> + "] before 0x%" PRIx64, new_addr, size,
> + address_space_start);
OK, so
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> return 0;
> } else if ((new_addr + size) > address_space_end) {
That comparison (that's already there) doesn't look wrap-safe?
Dave
> error_setg(errp, "can't add memory [0x%" PRIx64 ":0x%" PRIx64
> --
> 2.17.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK