summaryrefslogtreecommitdiffstats
path: root/virt/kvm/kvm_main.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-01-25 18:52:01 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2021-01-25 18:52:01 -0500
commit615099b01eb7127fb2f4bc956171a6a0accf688b (patch)
tree4659f3c859797375d95587d2cd3e47cf7e295a32 /virt/kvm/kvm_main.c
parent7c53f6b671f4aba70ff15e1b05148b10d58c2837 (diff)
parent139bc8a6146d92822c866cf2fd410159c56b3648 (diff)
downloadlinux-stable-615099b01eb7127fb2f4bc956171a6a0accf688b.tar.gz
linux-stable-615099b01eb7127fb2f4bc956171a6a0accf688b.tar.bz2
linux-stable-615099b01eb7127fb2f4bc956171a6a0accf688b.zip
Merge tag 'kvmarm-fixes-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
KVM/arm64 fixes for 5.11, take #2 - Don't allow tagged pointers to point to memslots - Filter out ARMv8.1+ PMU events on v8.0 hardware - Hide PMU registers from userspace when no PMU is configured - More PMU cleanups - Don't try to handle broken PSCI firmware - More sys_reg() to reg_to_encoding() conversions
Diffstat (limited to 'virt/kvm/kvm_main.c')
-rw-r--r--virt/kvm/kvm_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index fa9e3614d30e..8367d88ce39b 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1292,6 +1292,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
return -EINVAL;
/* We can read the guest memory with __xxx_user() later on. */
if ((mem->userspace_addr & (PAGE_SIZE - 1)) ||
+ (mem->userspace_addr != untagged_addr(mem->userspace_addr)) ||
!access_ok((void __user *)(unsigned long)mem->userspace_addr,
mem->memory_size))
return -EINVAL;