]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
KVM: Fix kernel allocated memory slot
authorSheng Yang <sheng@linux.intel.com>
Tue, 11 Nov 2008 07:30:40 +0000 (15:30 +0800)
committerAvi Kivity <avi@redhat.com>
Wed, 31 Dec 2008 14:52:25 +0000 (16:52 +0200)
Commit 7fd49de9773fdcb7b75e823b21c1c5dc1e218c14 "KVM: ensure that memslot
userspace addresses are page-aligned" broke kernel space allocated memory
slot, for the userspace_addr is invalid.

Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
virt/kvm/kvm_main.c

index 0a0a9595ba3b2bb73c1774deca11ee138ec5ee6f..4727c08da2e9a36e16fd093a7059ae6e1d6da270 100644 (file)
@@ -715,7 +715,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
                goto out;
        if (mem->guest_phys_addr & (PAGE_SIZE - 1))
                goto out;
-       if (mem->userspace_addr & (PAGE_SIZE - 1))
+       if (user_alloc && (mem->userspace_addr & (PAGE_SIZE - 1)))
                goto out;
        if (mem->slot >= KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS)
                goto out;