Commit e6ef7607 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
 "A couple of small fixes this time around from Steven for an
  interaction between ftrace and kernel read-only protection, and
  Vladimir for nommu"

* 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8780/1: ftrace: Only set kernel memory back to read-only after boot
  ARM: 8775/1: NOMMU: Use instr_sync instead of plain isb in common code
parents 35a84f34 b4c7e2bd
...@@ -177,7 +177,7 @@ M_CLASS(streq r3, [r12, #PMSAv8_MAIR1]) ...@@ -177,7 +177,7 @@ M_CLASS(streq r3, [r12, #PMSAv8_MAIR1])
bic r0, r0, #CR_I bic r0, r0, #CR_I
#endif #endif
mcr p15, 0, r0, c1, c0, 0 @ write control reg mcr p15, 0, r0, c1, c0, 0 @ write control reg
isb instr_sync
#elif defined (CONFIG_CPU_V7M) #elif defined (CONFIG_CPU_V7M)
#ifdef CONFIG_ARM_MPU #ifdef CONFIG_ARM_MPU
ldreq r3, [r12, MPU_CTRL] ldreq r3, [r12, MPU_CTRL]
......
...@@ -736,20 +736,29 @@ static int __mark_rodata_ro(void *unused) ...@@ -736,20 +736,29 @@ static int __mark_rodata_ro(void *unused)
return 0; return 0;
} }
static int kernel_set_to_readonly __read_mostly;
void mark_rodata_ro(void) void mark_rodata_ro(void)
{ {
kernel_set_to_readonly = 1;
stop_machine(__mark_rodata_ro, NULL, NULL); stop_machine(__mark_rodata_ro, NULL, NULL);
debug_checkwx(); debug_checkwx();
} }
void set_kernel_text_rw(void) void set_kernel_text_rw(void)
{ {
if (!kernel_set_to_readonly)
return;
set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), false, set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), false,
current->active_mm); current->active_mm);
} }
void set_kernel_text_ro(void) void set_kernel_text_ro(void)
{ {
if (!kernel_set_to_readonly)
return;
set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), true, set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), true,
current->active_mm); current->active_mm);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment