diff mbox series

[PULL,15/16] vl.c: select_machine(): add selected machine type to error message

Message ID 20240630165327.38153-16-mjt@tls.msk.ru
State New
Headers show
Series [PULL,01/16] hmp-commands-info.hx: Add missing info command for stats subcommand | expand

Commit Message

Michael Tokarev June 30, 2024, 4:53 p.m. UTC
From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 system/vl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell Aug. 22, 2024, 12:13 p.m. UTC | #1
On Sun, 30 Jun 2024 at 17:57, Michael Tokarev <mjt@tls.msk.ru> wrote:
>
> From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
> ---
>  system/vl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/system/vl.c b/system/vl.c
> index 92fc29c193..bdd2f6ecf6 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -1674,7 +1674,7 @@ static MachineClass *select_machine(QDict *qdict, Error **errp)
>          machine_class = find_machine(machine_type, machines);
>          qdict_del(qdict, "type");
>          if (!machine_class) {
> -            error_setg(errp, "unsupported machine type");
> +            error_setg(errp, "unsupported machine type: \"%s\"", optarg);
>          }
>      } else {
>          machine_class = find_default_machine(machines);

Hi. This patch doesn't do the right thing:

$ ./build/x86/qemu-system-aarch64 -M bang
qemu-system-aarch64: unsupported machine type: "(null)"
Use -machine help to list supported machines

"optarg" is a global, and at the point where we call
select_machine() it isn't valid (we've finished parsing
the options entirely). The thing the error message should
be printing is the local variable "machine_type".

I'll send a patch in a moment.

thanks
-- PMM
diff mbox series

Patch

diff --git a/system/vl.c b/system/vl.c
index 92fc29c193..bdd2f6ecf6 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -1674,7 +1674,7 @@  static MachineClass *select_machine(QDict *qdict, Error **errp)
         machine_class = find_machine(machine_type, machines);
         qdict_del(qdict, "type");
         if (!machine_class) {
-            error_setg(errp, "unsupported machine type");
+            error_setg(errp, "unsupported machine type: \"%s\"", optarg);
         }
     } else {
         machine_class = find_default_machine(machines);