Am 15.03.2017 um 09:59 schrieb Peter Xu: > On Wed, Mar 15, 2017 at 09:47:14AM +0100, David Hildenbrand wrote: >> Am 15.03.2017 um 09:01 schrieb Peter Xu: >>> v2: >>> - add one more patch (patch 2 in v2) to check pic/ioapic's >>> existance before destroying them >> >> Patch 2+3 without 1 should work, too, right? > > We may need that? When destroy VM, it's: > > kvm_destroy_vm() > foreach (bus) do kvm_io_bus_destroy() > kfree(bus) <--- [1] > kvm_arch_destroy_vm() > kvm_pic_destroy() > kvm_io_bus_unregister_dev() <--- [2] > Wouldn't the natural way be 1. kvm_arch_destroy_vm() 2. foreach (bus) do kvm_io_bus_destroy() kfree(bus) Then we wouldn't have to deal with suddenly removed buses. But maybe that order is of importance here ... > Here if without patch 1 we'll reference bus->dev_count in [2], while > actually the bus has been freed already in [1]. Thanks, > > -- peterx > -- Thanks, David