Re: [PATCH v2 3/4] KVM: cleanup: remove kvm_get_dirty_log()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux