qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] kvm: Fix overlapping check for memory slots


From: Sheng Yang
Subject: [Qemu-devel] Re: [PATCH] kvm: Fix overlapping check for memory slots
Date: Mon, 13 Apr 2009 13:47:28 +0800
User-agent: KMail/1.11.0 (Linux/2.6.27-11-generic; KDE/4.2.0; x86_64; ; )

On Saturday 11 April 2009 17:48:04 Jan Kiszka wrote:
> This nice little buglet complicates a smarter slot management in qemu
> user space just "slightly". Sigh...
>
> -------->
>
> When checking for overlapping slots on registration of a new one, kvm
> currently also considers zero-length (ie. deleted) slots and rejects
> requests incorrectly. This finally denies user space from joining slots.
> Fix the check by skipping deleted slots.
>
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
>
>  virt/kvm/kvm_main.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 363af32..18f06d2 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -1117,7 +1117,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
>       for (i = 0; i < KVM_MEMORY_SLOTS; ++i) {
>               struct kvm_memory_slot *s = &kvm->memslots[i];
>
> -             if (s == memslot)
> +             if (s == memslot || !s->npages)
>                       continue;
>               if (!((base_gfn + npages <= s->base_gfn) ||
>                     (base_gfn >= s->base_gfn + s->npages)))

Is it necessary to preserve a valid base_gfn/flags/etc for a zeroed slot? 
Seems kvm_free_physmem_slot didn't clean them.

-- 
regards
Yang, Sheng





reply via email to

[Prev in Thread] Current Thread [Next in Thread]