On Wed,  2 Aug 2017 12:32:59 +0200
Laurent Vivier <lviv...@redhat.com> wrote:

> With pseries machine type a negative core-id is not managed properly:
> -1 gives an inaccurate error message ("core -1 already populated"),
> -2 crashes QEMU (core dump)
> 
> As it seems a negative value is invalid for any architecture,
> instead of checking this in spapr_core_pre_plug() I think it's better
> to check this in the generic part, core_prop_set_core_id()
> 
> Signed-off-by: Laurent Vivier <lviv...@redhat.com>
> ---

Not sure why core_id is signed but, as you said to Philippe, it's probably
not the right time to change the API.

Reviewed-by: Greg Kurz <gr...@kaod.org>

>  hw/cpu/core.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/cpu/core.c b/hw/cpu/core.c
> index 2bf960d..bd578ab 100644
> --- a/hw/cpu/core.c
> +++ b/hw/cpu/core.c
> @@ -33,6 +33,11 @@ static void core_prop_set_core_id(Object *obj, Visitor *v, 
> const char *name,
>          return;
>      }
>  
> +    if (value < 0) {
> +        error_setg(errp, "Invalid core id %"PRId64, value);
> +        return;
> +    }
> +
>      core->core_id = value;
>  }
>  

Attachment: pgpOBGjgz4CSo.pgp
Description: OpenPGP digital signature

Reply via email to