[PATCH] ARM: mm: fix discard_old_kernel_data
Jungseung Lee
js07.lee at gmail.com
Mon Oct 20 18:48:34 PDT 2014
L1_CACHE_BYTES could be larger value than real L1 cache line size.
In that case, discard_old_kernel_data function would omit to invalidate
last bytes as much as L1_CACHE_BYTES - real cache line size.
So fix end address to "to + PAGE_SIZE -1". The bottom bits
of the address is LINELEN. that is ignored by mcrr.
Signed-off-by: Jungseung Lee <js07.lee at gmail.com>
---
arch/arm/mm/copypage-v6.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c
index b9bcc9d..7042334 100644
--- a/arch/arm/mm/copypage-v6.c
+++ b/arch/arm/mm/copypage-v6.c
@@ -62,7 +62,7 @@ static void discard_old_kernel_data(void *kto)
__asm__("mcrr p15, 0, %1, %0, c6 @ 0xec401f06"
:
: "r" (kto),
- "r" ((unsigned long)kto + PAGE_SIZE - L1_CACHE_BYTES)
+ "r" ((unsigned long)kto + PAGE_SIZE - 1)
: "cc");
}
--
1.9.1
More information about the linux-arm-kernel
mailing list