Re: [PATCH v2 3/4] KVM: cleanup: remove kvm_get_dirty_log()
Takuya Yoshikawa <[email protected]> Wed, 23 Jun 2010 08:56:50 +0000
| Newsgroups | org.kernel.vger.kvm-ia64,org.kernel.vger.kvm,org.kernel.vger.kvm-ppc |
|---|---|
| Message-ID | <[email protected]> |
(2010/06/23 17:48), Avi Kivity wrote: >> diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c >> index 801d9f3..bea6f7c 100644 >> --- a/arch/powerpc/kvm/book3s.c >> +++ b/arch/powerpc/kvm/book3s.c >> @@ -1185,28 +1185,43 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, >> struct kvm_memory_slot *memslot; >> struct kvm_vcpu *vcpu; >> ulong ga, ga_end; >> - int is_dirty = 0; >> - int r; >> + unsigned long is_dirty = 0; >> + int r, i; >> unsigned long n; >> >> mutex_lock(&kvm->slots_lock); >> >> - r = kvm_get_dirty_log(kvm, log,&is_dirty); >> - if (r) >> + r = -EINVAL; >> + if (log->slot>= KVM_MEMORY_SLOTS) >> + goto out; >> + >> + memslot =&kvm->memslots->memslots[log->slot]; > > Not introduced by this patch, but shouldn't this use rcu_dereference()? > > I was thinking like that, but sorry I don't know well about ppc. My final goal is to make everything except /* If nothing is dirty, don't bother messing with page tables. */ part arch independent, so that we can concentrate on the truely dirty logging things in the future. So, making ppc code same as x86, rcu_dereference() for example , really helps me. Do you like this approach? Takuya