Subject: [PATCH v2 06/12] KVM: mark kvm->buses as empty once they were destroyed

From: [email-masked] (Marcelo Tosatti)
Date: Wed, 25 Mar 2015 18:59:40 -0300

On Wed, Mar 25, 2015 at 05:09:13PM +0000, Marc Zyngier wrote:
> On 23/03/15 15:58, Andre Przywara wrote:
> > In kvm_destroy_vm() we call kvm_io_bus_destroy() pretty early,
> > especially before calling kvm_arch_destroy_vm(). To avoid
> > unregistering devices from the already destroyed bus, let's mark
> > the bus with NULL to let other users know it has been destroyed
> > already.
> > This avoids a crash on a VM shutdown with the VGIC using the
> > kvm_io_bus later (the unregistering is in there to be able to roll
> > back a faulting init).
> > 
> > Signed-off-by: Andre Przywara <[email-masked]>
> 
> That seems sensible, but I don't see why nobody else hits that. What are
> we doing differently?

It should be valid to call kvm_io_bus_unregister_dev after
kvm_io_bus_destroy.

Are you patching it to handle NULL kvm->buses[bus_idx] ?

> Otherwise,
> 
> Reviewed-by: Marc Zyngier <[email-masked]>
> 
> Paolo, Marcelo, can we have your Ack on this?
> 
> Thanks,