Message ID | 1512670493-18114-2-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | c88bc3e0dbe7d460a0be723379fce63a9dc6a6f5 |
Headers | show |
Series | arm: support -cpu max (and gic-version=max) | expand |
On Thu, Dec 07, 2017 at 06:14:48PM +0000, Peter Maydell wrote: > We were passing a NULL error pointer to the object_property_set_bool() > call that realizes the CPU object. This meant that we wouldn't detect > failure, and would plough blindly on to crash later trying to use a > NULL CPU object pointer. Detect errors and fail instead. > > In particular, this will be necessary to detect the user error > of using "-cpu host" without "-enable-kvm" once we make the host > CPU type be registered unconditionally rather than only in > kvm_arch_init(). > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> -- Eduardo
On 12/07/2017 03:14 PM, Peter Maydell wrote: > We were passing a NULL error pointer to the object_property_set_bool() > call that realizes the CPU object. This meant that we wouldn't detect > failure, and would plough blindly on to crash later trying to use a > NULL CPU object pointer. Detect errors and fail instead. > > In particular, this will be necessary to detect the user error > of using "-cpu host" without "-enable-kvm" once we make the host > CPU type be registered unconditionally rather than only in > kvm_arch_init(). > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/arm/virt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 151592b..62af013 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -1402,7 +1402,7 @@ static void machvirt_init(MachineState *machine) > "secure-memory", &error_abort); > } > > - object_property_set_bool(cpuobj, true, "realized", NULL); > + object_property_set_bool(cpuobj, true, "realized", &error_fatal); > object_unref(cpuobj); > } > fdt_add_timer_nodes(vms); >
On 26 January 2018 at 14:32, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > On 12/07/2017 03:14 PM, Peter Maydell wrote: >> We were passing a NULL error pointer to the object_property_set_bool() >> call that realizes the CPU object. This meant that we wouldn't detect >> failure, and would plough blindly on to crash later trying to use a >> NULL CPU object pointer. Detect errors and fail instead. >> >> In particular, this will be necessary to detect the user error >> of using "-cpu host" without "-enable-kvm" once we make the host >> CPU type be registered unconditionally rather than only in >> kvm_arch_init(). >> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Thanks; I already put this patch in master (commit c88bc3e0dbe7), though. -- PMM
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 151592b..62af013 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1402,7 +1402,7 @@ static void machvirt_init(MachineState *machine) "secure-memory", &error_abort); } - object_property_set_bool(cpuobj, true, "realized", NULL); + object_property_set_bool(cpuobj, true, "realized", &error_fatal); object_unref(cpuobj); } fdt_add_timer_nodes(vms);
We were passing a NULL error pointer to the object_property_set_bool() call that realizes the CPU object. This meant that we wouldn't detect failure, and would plough blindly on to crash later trying to use a NULL CPU object pointer. Detect errors and fail instead. In particular, this will be necessary to detect the user error of using "-cpu host" without "-enable-kvm" once we make the host CPU type be registered unconditionally rather than only in kvm_arch_init(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/arm/virt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.4