On Thu, Sep 24, 2015 at 08:57:21PM +0200, Markus Armbruster wrote: [...] > diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c > index ff249af..7692090 100644 > --- a/hw/arm/allwinner-a10.c > +++ b/hw/arm/allwinner-a10.c > @@ -103,6 +103,8 @@ static void aw_a10_class_init(ObjectClass *oc, void *data) > DeviceClass *dc = DEVICE_CLASS(oc); > > dc->realize = aw_a10_realize; > + /* Reason: creates a CPU, thus use after free(), see cpu_class_init() */ > + dc->cannot_even_create_with_object_new_yet = true;
The comments at aw_a10_class_init(), digic_class_init(), fsl_imx25_class_init(), fsl_imx31_class_init(), and xlnx_zynqmp_class_init() are now outdated, as cpu_class_init() doesn't set cannot_even_create_with_object_new_yet anymore. We could do this: * Update the comments to "Reason: creates an ARM CPU, thus use after free(), see arm_cpu_class_init()" * Add a note at arm_cpu_class_init() saying that we can probably unset cannot_even_create_with_object_new_yet in those functions once we fix TYPE_ARM_CPU -- Eduardo