linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] arm: KVM: Fix idmap overlap detection when the kernel is idmap'ed
@ 2016-08-22  8:01 Marc Zyngier
  2016-08-25 18:34 ` Christoffer Dall
  0 siblings, 1 reply; 2+ messages in thread
From: Marc Zyngier @ 2016-08-22  8:01 UTC (permalink / raw)
  To: linux-arm-kernel

We're trying hard to detect when the HYP idmap overlaps with the
HYP va, as it makes the teardown of a cpu dangerous. But there is
one case where an overlap is completely safe, which is when the
whole of the kernel is idmap'ed, which is likely to happen on 32bit
when RAM is at 0x8000000 and we're using a 2G/2G VA split.

In that case, we can proceed safely.

Reported-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
v2: Fixed integer/pointer comparaison warning

 arch/arm/kvm/mmu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c
index bda27b6..49149b9 100644
--- a/arch/arm/kvm/mmu.c
+++ b/arch/arm/kvm/mmu.c
@@ -1714,7 +1714,8 @@ int kvm_mmu_init(void)
 		 kern_hyp_va(PAGE_OFFSET), kern_hyp_va(~0UL));
 
 	if (hyp_idmap_start >= kern_hyp_va(PAGE_OFFSET) &&
-	    hyp_idmap_start <  kern_hyp_va(~0UL)) {
+	    hyp_idmap_start <  kern_hyp_va(~0UL) &&
+	    hyp_idmap_start != (unsigned long)__hyp_idmap_text_start) {
 		/*
 		 * The idmap page is intersecting with the VA space,
 		 * it is not safe to continue further.
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH v2] arm: KVM: Fix idmap overlap detection when the kernel is idmap'ed
  2016-08-22  8:01 [PATCH v2] arm: KVM: Fix idmap overlap detection when the kernel is idmap'ed Marc Zyngier
@ 2016-08-25 18:34 ` Christoffer Dall
  0 siblings, 0 replies; 2+ messages in thread
From: Christoffer Dall @ 2016-08-25 18:34 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Aug 22, 2016 at 09:01:17AM +0100, Marc Zyngier wrote:
> We're trying hard to detect when the HYP idmap overlaps with the
> HYP va, as it makes the teardown of a cpu dangerous. But there is
> one case where an overlap is completely safe, which is when the
> whole of the kernel is idmap'ed, which is likely to happen on 32bit
> when RAM is at 0x8000000 and we're using a 2G/2G VA split.
> 
> In that case, we can proceed safely.
> 
> Reported-by: Christoffer Dall <christoffer.dall@linaro.org>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

Thanks, applied.

-Christoffer

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-08-25 18:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-22  8:01 [PATCH v2] arm: KVM: Fix idmap overlap detection when the kernel is idmap'ed Marc Zyngier
2016-08-25 18:34 ` Christoffer Dall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).