pc: Ensure non-zero CPU ref count after attaching to ICC bus
commit0e3bd56294230ad0ee20fce587879c29a83a0d8b
authorAndreas Färber <afaerber@suse.de>
Tue, 17 Mar 2015 16:46:36 +0000 (17 17:46 +0100)
committerEduardo Habkost <ehabkost@redhat.com>
Tue, 2 Jun 2015 18:15:52 +0000 (2 15:15 -0300)
treea346b021af23426c54d10d3564a1e5de3fc32fb2
parent42d58e7c6760cb9c55627c28ae538e27dcf2f144
pc: Ensure non-zero CPU ref count after attaching to ICC bus

Setting the parent bus of a device increases its ref count, which we
ultimately want to level out. However it is only safe to do so after the
last reference to the device in local code, as qom-set or similar operations
might decrease the ref count.

Therefore move the object_unref() from pc_new_cpu() into its callers.

The APIC operations on the last CPU in pc_cpus_init() are still potentially
insecure, but that is beyond the scope of this code movement.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
hw/i386/pc.c