All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm: Prevent memory aliasing on non-LPAE kernels
@ 2013-05-30 21:45 ` Stepan Moskovchenko
  0 siblings, 0 replies; 13+ messages in thread
From: Stepan Moskovchenko @ 2013-05-30 21:45 UTC (permalink / raw)
  To: Russell King, linux-arm-kernel, linux-kernel
  Cc: linux-arm-msm, David Brown, Stepan Moskovchenko, Bryan Huntsman,
	Daniel Walker

Some LPAE-capable systems may use a Device Tree containing
memory nodes that describe memory extending beyond the 4GB
physical address boundary. Ignore or truncate these memory
nodes on kernels that have not been built with LPAE
support, to prevent the extended physical addresses from
being truncated and aliasing with physical addresses below
the 4GB boundary.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
---
 arch/arm/kernel/devtree.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
index bee7f9d..24bc80b 100644
--- a/arch/arm/kernel/devtree.c
+++ b/arch/arm/kernel/devtree.c
@@ -26,6 +26,18 @@

 void __init early_init_dt_add_memory_arch(u64 base, u64 size)
 {
+#ifndef CONFIG_ARM_LPAE
+	if (base > ((phys_addr_t)~0)) {
+		pr_crit("Ignoring memory at 0x%08llx due to lack of LPAE support\n",
+			base);
+		return;
+	}
+
+	if (size > ((phys_addr_t)~0))
+		size = ((phys_addr_t)~0);
+
+	/* arm_add_memory() already checks for the case of base + size > 4GB */
+#endif
 	arm_add_memory(base, size);
 }

--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

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

end of thread, other threads:[~2013-08-29  7:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-30 21:45 [PATCH] arm: Prevent memory aliasing on non-LPAE kernels Stepan Moskovchenko
2013-05-30 21:45 ` Stepan Moskovchenko
2013-05-30 21:45 ` Stepan Moskovchenko
2013-05-30 22:10 ` Jason Gunthorpe
2013-05-30 22:10   ` Jason Gunthorpe
2013-05-30 22:24 ` Arnd Bergmann
2013-05-30 22:24   ` Arnd Bergmann
2013-06-01  1:30   ` Stepan Moskovchenko
2013-06-01  1:30     ` Stepan Moskovchenko
2013-06-10  5:24 ` Magnus Damm
2013-06-10  5:24   ` Magnus Damm
2013-08-29  7:08 ` takashi.yoshii.zj
2013-08-29  7:08   ` takashi.yoshii.zj at renesas.com

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.