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

Avi Kivity <[email protected]> Wed, 23 Jun 2010 08:48:29 +0000
Newsgroups org.kernel.vger.kvm-ia64,org.kernel.vger.kvm,org.kernel.vger.kvm-ppc
Message-ID <[email protected]>
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