[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/2] xen: do not use '%ms' scanf specifier
From: |
Anthony PERARD |
Subject: |
Re: [PATCH v2 2/2] xen: do not use '%ms' scanf specifier |
Date: |
Wed, 15 Jan 2025 15:36:00 +0100 |
On Fri, Jan 10, 2025 at 10:35:31AM +0100, Roger Pau Monne wrote:
> diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
> index ef0c2912efa1..989e75fef88f 100644
> --- a/hw/char/xen_console.c
> +++ b/hw/char/xen_console.c
> @@ -550,7 +550,8 @@ static void xen_console_device_create(XenBackendInstance
> *backend,
> goto fail;
> }
>
> - if (xs_node_scanf(xsh, XBT_NULL, fe, "type", errp, "%ms", &type) != 1) {
> + type = xs_node_read(xsh, XBT_NULL, NULL, errp, "%s/%s", fe, "type");
> + if (!type) {
> error_prepend(errp, "failed to read console device type: ");
> goto fail;
> }
> @@ -568,7 +569,8 @@ static void xen_console_device_create(XenBackendInstance
> *backend,
>
> snprintf(label, sizeof(label), "xencons%ld", number);
>
> - if (xs_node_scanf(xsh, XBT_NULL, fe, "output", NULL, "%ms", &output) ==
> 1) {
> + output = xs_node_read(xsh, XBT_NULL, NULL, errp, "%s/%s", fe, "output");
This now set `errp` on error, when `output == NULL`. In case `output` is
NULL, we check for `number` instead and may generate an error message
that probably doesn't really make sense.
"console: No serial device #2 found: failed to read from
/frontend_path/output"
And if number == 0, we tried to create a null device, and if that
failed, the error message will just be about the missing xenstore path
as error_setg() will not set `errp` again.
Could you keep ignoring errors from xs_node_read() like it was done with
xs_node_scanf() (I mean pass `NULL` instead of `errp`)? And we will need
another patch to fix the wrong use of `error_prepend()` and use
`error_setg` instead when `serial_hd()` fails.
> + if (output) {
> /*
> * FIXME: sure we want to support implicit
> * muxed monitors here?
Thanks,
--
Anthony PERARD
- [PATCH v2 0/2] xen: error handling and FreeBSD compatibility fixes, Roger Pau Monne, 2025/01/10
- [PATCH v2 1/2] hw/xen: Add xs_node_read() helper function, Roger Pau Monne, 2025/01/10
- [PATCH v2 2/2] xen: do not use '%ms' scanf specifier, Roger Pau Monne, 2025/01/10
- Re: [PATCH v2 0/2] xen: error handling and FreeBSD compatibility fixes, David Woodhouse, 2025/01/10
- [PATCH 4/4] hw/xen: Use xs_node_read() from xenstore_read_str() instead of open-coding it, David Woodhouse, 2025/01/10
- Re: [PATCH 4/4] hw/xen: Use xs_node_read() from xenstore_read_str() instead of open-coding it, Anthony PERARD, 2025/01/15
- Re: [PATCH 1/4] hw/xen: Use xs_node_read() from xs_node_vscanf(), Anthony PERARD, 2025/01/15