[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] vl.c/memdev: Error on bad memory backend
From: |
Igor Mammedov |
Subject: |
Re: [PATCH] vl.c/memdev: Error on bad memory backend |
Date: |
Tue, 17 Mar 2020 13:34:18 +0100 |
On Tue, 17 Mar 2020 12:07:59 +0000
"Dr. David Alan Gilbert (git)" <address@hidden> wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> If memory-backend is a non-existent object, qemu crashes.
> Check that the backend actually resolves.
>
> e.g. ./qemu-system-x86_64 -machine pc,accel=kvm,memory-backend=foo
there is a patch to fix it already
[PATCH] softmmu: fix crash with invalid -M memory-backend=
by Marc-André
but looks like it fell through cracks ...
>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> ---
> softmmu/vl.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index ff2685dff8..76507e99c4 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -4288,6 +4288,11 @@ void qemu_init(int argc, char **argv, char **envp)
>
> backend = object_resolve_path_type(current_machine->ram_memdev_id,
> TYPE_MEMORY_BACKEND, NULL);
> + if (!backend) {
> + error_report("Unknown memory backend object id '%s'",
> + current_machine->ram_memdev_id);
> + exit(EXIT_FAILURE);
> + }
> backend_size = object_property_get_uint(backend, "size",
> &error_abort);
> if (have_custom_ram_size && backend_size != ram_size) {
> error_report("Size specified by -m option must match size of
> "