KVM: Initialize kvm before registering the mmu notifier
authorMike Waychison <mikew@google.com>
Fri, 3 Jun 2011 20:04:53 +0000 (13:04 -0700)
committerAvi Kivity <avi@redhat.com>
Mon, 6 Jun 2011 08:27:52 +0000 (11:27 +0300)
commit74b5c5bfff429f464c38dd49af41d75cf0e7dc26
treef191213a9807e88ca24c2aaf123734892fe9e792
parent221192bdff2583834984639121595fc9296120d3
KVM: Initialize kvm before registering the mmu notifier

It doesn't make sense to ever see a half-initialized kvm structure on
mmu notifier callbacks.  Previously, 85722cda changed the ordering to
ensure that the mmu_lock was initialized before mmu notifier
registration, but there is still a race where the mmu notifier could
come in and try accessing other portions of struct kvm before they are
intialized.

Solve this by moving the mmu notifier registration to occur after the
structure is completely initialized.

Google-Bug-Id: 452199
Signed-off-by: Mike Waychison <mikew@google.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
virt/kvm/kvm_main.c