Re: linux-next: manual merge of the kvm tree with Linus' tree
From: Marcelo Tosatti <hidden>
Date: 2010-01-27 16:39:19
Also in:
lkml
On Wed, Jan 27, 2010 at 12:57:30PM +1100, Stephen Rothwell wrote:
Hi all,
Today's linux-next merge of the kvm tree got a conflict in
arch/x86/kvm/x86.c between commit
36cb93fd6b6bf7e9163a69a8bf20207aed5fea44 ("KVM: x86: Fix probable memory
leak of vcpu->arch.mce_banks") from Linus' tree and commit
kvm_arch_vcpu_uninit ("KVM: switch vcpu context to use SRCU") from the
kvm tree.
I fixed it up (I think ... see below) and can carry the fix for a while.Stephen, The merge below is correct. Its also present in commit d3b54d01b94f6825717ef1d02afc7c295bcce89e of kvm.git.
quoted hunk ↗ jump to hunk
-- Cheers, Stephen Rothwell sfr@canb.auug.org.au diff --cc arch/x86/kvm/x86.c index 1ddcad4,a311751..0000000--- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c@@@ -5089,11 -5468,12 +5469,13 @@@ fail void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu) { + int idx; + + kfree(vcpu->arch.mce_banks); kvm_free_lapic(vcpu); - down_read(&vcpu->kvm->slots_lock); + idx = srcu_read_lock(&vcpu->kvm->srcu); kvm_mmu_destroy(vcpu); - up_read(&vcpu->kvm->slots_lock); + srcu_read_unlock(&vcpu->kvm->srcu, idx); free_page((unsigned long)vcpu->arch.pio_data); }