On 06/23/2010 09:01 AM, Takuya Yoshikawa wrote:
kvm_get_dirty_log() is a helper function for kvm_vm_ioctl_get_dirty_log() which is currently used by ia64 and ppc and the following is what it is doing: - sanity checks - bitmap scan to check if the slot is dirty - copy_to_user() Considering the fact that x86 is not using this anymore and sanity checks must be done before kvm_ia64_sync_dirty_log(), we can say that this is not working for code sharing effectively. So we just remove this. 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()? -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html