Re: [PATCH] always assign userspace_addr

From: Glauber Costa
Date: Mon Nov 24 2008 - 08:08:36 EST


>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index b1953ee..f605bba 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -735,11 +735,17 @@ int __kvm_set_memory_region(struct kvm *kvm,
> base_gfn = mem->guest_phys_addr >> PAGE_SHIFT;
> npages = mem->memory_size >> PAGE_SHIFT;
>
> - if (!npages)
> - mem->flags &= ~KVM_MEM_LOG_DIRTY_PAGES;
> -
> new = old = *memslot;
>
> + if (!npages) {
> + mem->flags &= ~KVM_MEM_LOG_DIRTY_PAGES;
> + kvm_arch_flush_shadow(kvm);
> + kvm_free_physmem_slot(memslot, NULL);
> + kvm_arch_set_memory_region(kvm, mem, old, user_alloc);
> + goto out;
> + }
> +
> +
> new.base_gfn = base_gfn;

Any comments about this version? In the absense of it, I'll submit a
version with a SoB for inclusion.
> new.npages = npages;
> new.flags = mem->flags;
> @@ -812,9 +818,6 @@ int __kvm_set_memory_region(struct kvm *kvm,
> }
> #endif /* not defined CONFIG_S390 */
>
> - if (!npages)
> - kvm_arch_flush_shadow(kvm);
> -
> spin_lock(&kvm->mmu_lock);
> if (mem->slot >= kvm->nmemslots)
> kvm->nmemslots = mem->slot + 1;
>
>



--
Glauber Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/