diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2009-10-29 03:46:57 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-11-02 17:16:36 +0100 |
commit | 55ca3cc1746335bb6ef1d3894ddb6d0c729b3518 (patch) | |
tree | 1678b567a1d4ebb92c51abc0234334023879c749 /arch/x86/mm/pageattr.c | |
parent | x86, cpa: Fix kernel text RO checks in static_protection() (diff) | |
download | linux-55ca3cc1746335bb6ef1d3894ddb6d0c729b3518.tar.xz linux-55ca3cc1746335bb6ef1d3894ddb6d0c729b3518.zip |
x86_64, ftrace: Make ftrace use kernel identity mapping to modify code
On x86_64, kernel text mappings are mapped read-only with
CONFIG_DEBUG_RODATA. So use the kernel identity mapping instead
of the kernel text mapping to modify the kernel text.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Tested-by: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20091029024821.080941108@sbs-t61.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm/pageattr.c')
-rw-r--r-- | arch/x86/mm/pageattr.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 8d1e8d95ea45..09a140ca7be8 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -279,8 +279,7 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long address, __pa((unsigned long)__end_rodata) >> PAGE_SHIFT)) pgprot_val(forbidden) |= _PAGE_RW; -#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) && \ - !defined(CONFIG_DYNAMIC_FTRACE) +#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) /* * Once the kernel maps the text as RO (kernel_set_to_readonly is set), * kernel text mappings for the large page aligned text, rodata sections |