Revert "msm: Make CONFIG_STRICT_MEMORY_RWX even stricter"
This reverts commit a9c567fb0f057b09aa8eef9d01a5182c606ffb0b
Change-Id: I68ec00bb5b24466ef591d1d4ef150d2bf96a816d
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index a8a4a8e..56c37b7 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -841,14 +841,6 @@
"TCM link");
#endif
-#ifdef CONFIG_STRICT_MEMORY_RWX
- poison_init_mem((char *)__arch_info_begin,
- __init_end - (char *)__arch_info_begin);
- reclaimed_initmem = free_area(__phys_to_pfn(__pa(__arch_info_begin)),
- __phys_to_pfn(__pa(__init_end)),
- "init");
- totalram_pages += reclaimed_initmem;
-#else
poison_init_mem(__init_begin, __init_end - __init_begin);
if (!machine_is_integrator() && !machine_is_cintegrator()) {
reclaimed_initmem = free_area(__phys_to_pfn(__pa(__init_begin)),
@@ -856,7 +848,6 @@
"init");
totalram_pages += reclaimed_initmem;
}
-#endif
}
#ifdef CONFIG_BLK_DEV_INITRD
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 1072d6a..a6827fb 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -1315,6 +1315,8 @@
}
EXPORT_SYMBOL(mem_text_write_kernel_word);
+extern char __init_data[];
+
static void __init map_lowmem(void)
{
struct memblock_region *reg;
@@ -1337,7 +1339,7 @@
#ifdef CONFIG_STRICT_MEMORY_RWX
if (start <= __pa(_text) && __pa(_text) < end) {
map.length = SECTION_SIZE;
- map.type = MT_MEMORY_RW;
+ map.type = MT_MEMORY;
create_mapping(&map, false);
@@ -1357,15 +1359,14 @@
map.pfn = __phys_to_pfn(__pa(__init_begin));
map.virtual = (unsigned long)__init_begin;
- map.length = (char *)__arch_info_begin - __init_begin;
- map.type = MT_MEMORY_RX;
+ map.length = __init_data - __init_begin;
+ map.type = MT_MEMORY;
create_mapping(&map, false);
- map.pfn = __phys_to_pfn(__pa(__arch_info_begin));
- map.virtual = (unsigned long)__arch_info_begin;
- map.length = __phys_to_virt(end) -
- (unsigned long)__arch_info_begin;
+ map.pfn = __phys_to_pfn(__pa(__init_data));
+ map.virtual = (unsigned long)__init_data;
+ map.length = __phys_to_virt(end) - (unsigned int)__init_data;
map.type = MT_MEMORY_RW;
} else {
map.length = end - start;