KVM: arm64: Fix exclusive limit for IPA size
Subsystems (3)
Marc Zyngier
maintainerPATCH 1/1 KVM: arm64: Fix exclusive limit for IPA size
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.
--- arch/arm/kvm/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/kvm/mmu.c +1 -1
@@ -1789,7 +1789,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,* 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 ;
Signature · 6 lines
2.29.2 _______________________________________________ kvmarm mailing list [email protected] https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Patch "KVM: arm64: Fix exclusive limit for IPA size" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
KVM: arm64: Fix exclusive limit for IPA size
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
kvm-arm64-fix-exclusive-limit-for-ipa-size.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From foo@baz Mon Mar 15 01:04:46 PM CET 2021
From: Marc Zyngier <[email protected]>
Date: Mon, 15 Mar 2021 11:46:46 +0000
Subject: KVM: arm64: Fix exclusive limit for IPA size
To: [email protected]
Cc: [email protected], [email protected], Eric Auger <[email protected]>, [email protected], Andrew Jones <[email protected]>
Message-ID: <[email protected]>
From: Marc Zyngier <[email protected]>
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.
--- arch/arm/kvm/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/kvm/mmu.c +1 -1
@@ -1789,7 +1789,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 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/kvm-arm64-fix-exclusive-limit-for-ipa-size.patch
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Patch "KVM: arm64: Fix exclusive limit for IPA size" has been added to the 4.9-stable tree
In reply to Marc ZyngierThis is a note to let you know that I've just added the patch titled
KVM: arm64: Fix exclusive limit for IPA size
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
kvm-arm64-fix-exclusive-limit-for-ipa-size.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From foo@baz Mon Mar 15 01:04:48 PM CET 2021
From: Marc Zyngier <[email protected]>
Date: Mon, 15 Mar 2021 11:46:46 +0000
Subject: KVM: arm64: Fix exclusive limit for IPA size
To: [email protected]
Cc: [email protected], [email protected], Eric Auger <[email protected]>, [email protected], Andrew Jones <[email protected]>
Message-ID: <[email protected]>
From: Marc Zyngier <[email protected]>
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.
--- arch/arm/kvm/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/kvm/mmu.c +1 -1
@@ -1834,7 +1834,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 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/kvm-arm64-fix-exclusive-limit-for-ipa-size.patch
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Greg KH
maintainerQuoted 20 lines · Marc Zyngier
Commit
262b003d059c6671601a19057e9fe1a5e7f23722upstream.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
0x8000000with 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 <[email protected]>Signed-off-by Marc Zyngier <[email protected]>Cc [email protected] # 4.4, 4.9Reviewed-by Andrew Jones <[email protected]>
Quoted 3 lines
--- arch/arm/kvm/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
That worked, now queued up, thanks!
greg k-h
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm