Eduardo Habkost <ehabk...@redhat.com> writes: > On Mon, Apr 15, 2019 at 03:59:45PM +0800, Like Xu wrote: >> To avoid the misuse of qdev_get_machine() if machine hasn't been created yet, >> this patch uses qdev_get_machine_uncheck() for obj-common (share with >> user-only >> mode) and adds type assertion to qdev_get_machine() in system-emulation mode. >> >> Suggested-by: Igor Mammedov <imamm...@redhat.com> >> Signed-off-by: Like Xu <like...@linux.intel.com> > > Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> > > I'm queueing the series on machine-next, thanks!
Hold your horses, please. I dislike the name qdev_get_machine_uncheck(). I could live with qdev_get_machine_unchecked(). However, I doubt this is the right approach. The issue at hand is undisciplined creation of QOM object /machine. This patch adds an asseertion "undisciplined creation of /machine didn't create crap", but only in some places. I think we should never create /machine as (surprising!) side effect of qdev_get_machine(). Create it explicitly instead, and have qdev_get_machine() use object_resolve_path("/machine", NULL) to get it. Look ma, no side effects.