summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorVladimir Murzin <vladimir.murzin@arm.com>2018-01-03 10:09:33 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2018-01-21 15:32:24 +0000
commit636e645f1f2a5826beacd23548696f1655b0b5d8 (patch)
tree7da9b80b5249802ed0f622120b6d44a40d079c78 /arch/arm
parent62d1c95d577ce4d40189e4c01025b616917e3c65 (diff)
ARM: 8740/1: NOMMU: Make sure we do not hold stale data in mem[] array
adjust_lowmem_bounds() called twice which can lead to stalled data (i.e. subreg) value in mem[] array after the first call. Zero out mem[] array before we allocate MPU regions for memory. Fixes: 5c9d9a1b3a54 ("ARM: 8712/1: NOMMU: Use more MPU regions to cover memory") Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mm/pmsa-v7.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mm/pmsa-v7.c b/arch/arm/mm/pmsa-v7.c
index 650998912c1c..e2853bfff74e 100644
--- a/arch/arm/mm/pmsa-v7.c
+++ b/arch/arm/mm/pmsa-v7.c
@@ -6,6 +6,7 @@
#include <linux/bitops.h>
#include <linux/memblock.h>
+#include <linux/string.h>
#include <asm/cacheflush.h>
#include <asm/cp15.h>
@@ -296,6 +297,7 @@ void __init adjust_lowmem_bounds_mpu(void)
}
}
+ memset(mem, 0, sizeof(mem));
num = allocate_region(mem_start, specified_mem_size, mem_max_regions, mem);
for (i = 0; i < num; i++) {