KVM: VMX: Clean up private memory slot allocation
PATCH 1/1 KVM: VMX: Clean up private memory slot allocation
userspace_addr should be a meaningless value.
(Any suggestion on this "meaningless value"?)
Signed-off-by Sheng Yang <[email protected]>
--- arch/x86/kvm/vmx.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
arch/x86/kvm/vmx.c +4 -0
@@ -2022,6 +2022,8 @@ static int alloc_apic_access_page(struct kvm *kvm) kvm_userspace_mem.flags =0 ; kvm_userspace_mem.guest_phys_addr =0xfee00000ULL ; kvm_userspace_mem.memory_size =PAGE_SIZE ; +/* userspace_addr is invalid, make it unaligned */ + kvm_userspace_mem.userspace_addr =PAGE_SIZE -1 ; r =__kvm_set_memory_region (kvm, &kvm_userspace_mem,0 );if (r) goto out;
@@ -2044,6 +2046,8 @@ static int alloc_identity_pagetable(struct kvm *kvm) kvm_userspace_mem.flags =0 ; kvm_userspace_mem.guest_phys_addr =VMX_EPT_IDENTITY_PAGETABLE_ADDR ; kvm_userspace_mem.memory_size =PAGE_SIZE ; +/* userspace_addr is invalid, make it unaligned */ + kvm_userspace_mem.userspace_addr =PAGE_SIZE -1 ; r =__kvm_set_memory_region (kvm, &kvm_userspace_mem,0 );if (r) goto out;
Signature · 1 line
1.5.4.5
Quoted 2 lines · Sheng Yang
userspace_addrshould be a meaningless value.
Perhaps in __kvm_set_memory_region(), if !user_alloc?
Why is it needed? Did you observe any problem?
Quoted 19 lines
arch/x86/kvm/vmx.c +4
-0@@ -2022,6 +2022,8 @@ static int alloc_apic_access_page(struct kvm *kvm) kvm_userspace_mem.flags =0 ; kvm_userspace_mem.guest_phys_addr =0xfee00000ULL ; kvm_userspace_mem.memory_size =PAGE_SIZE ; +/* userspace_addr is invalid, make it unaligned */ + kvm_userspace_mem.userspace_addr =PAGE_SIZE -1 ; r =__kvm_set_memory_region (kvm, &kvm_userspace_mem,0 );if (r) goto out;@@ -2044,6 +2046,8 @@ static int alloc_identity_pagetable(struct kvm *kvm) kvm_userspace_mem.flags =0 ; kvm_userspace_mem.guest_phys_addr =VMX_EPT_IDENTITY_PAGETABLE_ADDR ; kvm_userspace_mem.memory_size =PAGE_SIZE ; +/* userspace_addr is invalid, make it unaligned */ + kvm_userspace_mem.userspace_addr =PAGE_SIZE -1 ; r =__kvm_set_memory_region (kvm, &kvm_userspace_mem,0 );if (r) goto out;
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 6 lines · On Thursday 13 November 2008 20:27:13 Avi Kivity wrote:
Quoted 1 line · Sheng Yang
userspace_addrshould be a meaningless value.Perhaps in
__kvm_set_memory_region(), if !user_alloc?Why is it needed? Did you observe any problem?
A potential issue is kvm_userspace_mem.userspace_addr don't have value, so for the recent case, it won't show stably everytime... So I think it's a potential issue, to prevent further confusing on this (if necessary).
Signature · 2 lines
regards Yang, Sheng
Quoted 19 lines
Quoted 19 lines
arch/x86/kvm/vmx.c +4
-0@@ -2022,6 +2022,8 @@ static int alloc_apic_access_page(struct kvm *kvm) kvm_userspace_mem.flags =0 ; kvm_userspace_mem.guest_phys_addr =0xfee00000ULL ; kvm_userspace_mem.memory_size =PAGE_SIZE ; +/* userspace_addr is invalid, make it unaligned */ + kvm_userspace_mem.userspace_addr =PAGE_SIZE -1 ; r =__kvm_set_memory_region (kvm, &kvm_userspace_mem,0 );if (r) goto out;@@ -2044,6 +2046,8 @@ static int alloc_identity_pagetable(struct kvm *kvm) kvm_userspace_mem.flags = 0; kvm_userspace_mem.guest_phys_addr =VMX_EPT_IDENTITY_PAGETABLE_ADDR ; kvm_userspace_mem.memory_size =PAGE_SIZE ; +/* userspace_addr is invalid, make it unaligned */ + kvm_userspace_mem.userspace_addr =PAGE_SIZE -1 ; r =__kvm_set_memory_region (kvm, &kvm_userspace_mem,0 );if (r) goto out;