]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Mar 2021 11:31:08 +0000 (12:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Mar 2021 11:31:08 +0000 (12:31 +0100)
added patches:
kvm-arm64-fix-exclusive-limit-for-ipa-size.patch

queue-4.19/kvm-arm64-fix-exclusive-limit-for-ipa-size.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/kvm-arm64-fix-exclusive-limit-for-ipa-size.patch b/queue-4.19/kvm-arm64-fix-exclusive-limit-for-ipa-size.patch
new file mode 100644 (file)
index 0000000..e83944b
--- /dev/null
@@ -0,0 +1,46 @@
+From foo@baz Mon Mar 15 12:28:26 PM CET 2021
+From: Marc Zyngier <maz@kernel.org>
+Date: Mon, 15 Mar 2021 11:08:33 +0000
+Subject: KVM: arm64: Fix exclusive limit for IPA size
+To: gregkh@linuxfoundation.org
+Cc: kvmarm@lists.cs.columbia.edu, kernel-team@android.com, Eric Auger <eric.auger@redhat.com>, stable@vger.kernel.org, Andrew Jones <drjones@redhat.com>
+Message-ID: <20210315110833.4135927-1-maz@kernel.org>
+
+From: Marc Zyngier <maz@kernel.org>
+
+Commit 262b003d059c6671601a19057e9fe1a5e7f23722 upstream.
+
+When registering a memslot, we check the size and location of that
+memslot against the IPA size to ensure that we can provide guest
+access to the whole of the memory.
+
+Unfortunately, this check rejects memslot that end-up at the exact
+limit of the addressing capability for a given IPA size. For example,
+it refuses the creation of a 2GB memslot at 0x8000000 with a 32bit
+IPA space.
+
+Fix it by relaxing the check to accept a memslot reaching the
+limit of the IPA space.
+
+Fixes: c3058d5da222 ("arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE")
+Reviewed-by: Eric Auger <eric.auger@redhat.com>
+Signed-off-by: Marc Zyngier <maz@kernel.org>
+Cc: stable@vger.kernel.org # 4.4, 4.9, 4.14, 4.19
+Reviewed-by: Andrew Jones <drjones@redhat.com>
+Link: https://lore.kernel.org/r/20210311100016.3830038-3-maz@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ virt/kvm/arm/mmu.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/virt/kvm/arm/mmu.c
++++ b/virt/kvm/arm/mmu.c
+@@ -2080,7 +2080,7 @@ int kvm_arch_prepare_memory_region(struc
+        * Prevent userspace from creating a memory region outside of the IPA
+        * space addressable by the KVM guest IPA space.
+        */
+-      if (memslot->base_gfn + memslot->npages >=
++      if (memslot->base_gfn + memslot->npages >
+           (KVM_PHYS_SIZE >> PAGE_SHIFT))
+               return -EFAULT;
index be8babe602555f764bd9e983f9d9abc756c250b9..cac0d0f7296f8e050c88a22a43c8da9ed2544b07 100644 (file)
@@ -114,3 +114,4 @@ powerpc-64s-fix-instruction-encoding-for-lis-in-ppc_function_entry.patch
 binfmt_misc-fix-possible-deadlock-in-bm_register_write.patch
 x86-unwind-orc-disable-kasan-checking-in-the-orc-unwinder-part-2.patch
 hwmon-lm90-fix-max6658-sporadic-wrong-temperature-reading.patch
+kvm-arm64-fix-exclusive-limit-for-ipa-size.patch