summaryrefslogtreecommitdiff
path: root/arch/arm/mm/init.c
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-09-06 14:14:25 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-09-06 14:14:24 -0700
commitc44da670c28766ea7fa8b46453e9111965bf2eb2 (patch)
tree79d7b94b76dc3eb27d74ef7be44e2f88e1dc39f8 /arch/arm/mm/init.c
parent356bd90ee7d4caac787e2c4c9da68b585b7cf48b (diff)
parentb87d31674ac9e8203f3a30b53f6a697bf5cf36b6 (diff)
Merge "Merge android-4.4.153 (5e24b4e) into msm-4.4"
Diffstat (limited to 'arch/arm/mm/init.c')
-rw-r--r--arch/arm/mm/init.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 4d58a6eca48e..d05984a85c64 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -815,19 +815,28 @@ int __mark_rodata_ro(void *unused)
return 0;
}
+static int kernel_set_to_readonly __read_mostly;
+
void mark_rodata_ro(void)
{
+ kernel_set_to_readonly = 1;
stop_machine(__mark_rodata_ro, NULL, NULL);
}
void set_kernel_text_rw(void)
{
+ if (!kernel_set_to_readonly)
+ return;
+
set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), false,
current->active_mm);
}
void set_kernel_text_ro(void)
{
+ if (!kernel_set_to_readonly)
+ return;
+
set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), true,
current->active_mm);
}