[patch 10/24] Text Edit Lock - x86_32 standardize debug rodata
Standardize DEBUG_RODATA, removing special cases for hotplug and kprobes. Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]> CC: Andi Kleen <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] CC: Thomas Gleixner <[EMAIL PROTECTED]> CC: Ingo Molnar <[EMAIL PROTECTED]> CC: H. Peter Anvin <[EMAIL PROTECTED]> --- arch/x86/mm/init_32.c | 20 +++- 1 file changed, 7 insertions(+), 13 deletions(-) Index: linux-2.6-lttng/arch/x86/mm/init_32.c === --- linux-2.6-lttng.orig/arch/x86/mm/init_32.c 2007-11-13 09:25:29.0 -0500 +++ linux-2.6-lttng/arch/x86/mm/init_32.c 2007-11-13 09:45:48.0 -0500 @@ -784,28 +784,21 @@ static int noinline do_test_wp_bit(void) } #ifdef CONFIG_DEBUG_RODATA - void mark_rodata_ro(void) { unsigned long start = PFN_ALIGN(_text); unsigned long size = PFN_ALIGN(_etext) - start; -#ifndef CONFIG_KPROBES -#ifdef CONFIG_HOTPLUG_CPU - /* It must still be possible to apply SMP alternatives. */ - if (num_possible_cpus() <= 1) -#endif - { - change_page_attr(virt_to_page(start), -size >> PAGE_SHIFT, PAGE_KERNEL_RX); - printk("Write protecting the kernel text: %luk\n", size >> 10); - } -#endif + change_page_attr(virt_to_page(start), + size >> PAGE_SHIFT, PAGE_KERNEL_RX); + printk(KERN_INFO "Write protecting the kernel text: %luk\n", + size >> 10); + start += size; size = (unsigned long)__end_rodata - start; change_page_attr(virt_to_page(start), size >> PAGE_SHIFT, PAGE_KERNEL_RO); - printk("Write protecting the kernel read-only data: %luk\n", + printk(KERN_INFO "Write protecting the kernel read-only data: %luk\n", size >> 10); /* @@ -816,6 +809,7 @@ void mark_rodata_ro(void) */ global_flush_tlb(); } + #endif void free_init_pages(char *what, unsigned long begin, unsigned long end) -- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[patch 10/24] Text Edit Lock - x86_32 standardize debug rodata
Standardize DEBUG_RODATA, removing special cases for hotplug and kprobes. Signed-off-by: Mathieu Desnoyers [EMAIL PROTECTED] CC: Andi Kleen [EMAIL PROTECTED] CC: [EMAIL PROTECTED] CC: Thomas Gleixner [EMAIL PROTECTED] CC: Ingo Molnar [EMAIL PROTECTED] CC: H. Peter Anvin [EMAIL PROTECTED] --- arch/x86/mm/init_32.c | 20 +++- 1 file changed, 7 insertions(+), 13 deletions(-) Index: linux-2.6-lttng/arch/x86/mm/init_32.c === --- linux-2.6-lttng.orig/arch/x86/mm/init_32.c 2007-11-13 09:25:29.0 -0500 +++ linux-2.6-lttng/arch/x86/mm/init_32.c 2007-11-13 09:45:48.0 -0500 @@ -784,28 +784,21 @@ static int noinline do_test_wp_bit(void) } #ifdef CONFIG_DEBUG_RODATA - void mark_rodata_ro(void) { unsigned long start = PFN_ALIGN(_text); unsigned long size = PFN_ALIGN(_etext) - start; -#ifndef CONFIG_KPROBES -#ifdef CONFIG_HOTPLUG_CPU - /* It must still be possible to apply SMP alternatives. */ - if (num_possible_cpus() = 1) -#endif - { - change_page_attr(virt_to_page(start), -size PAGE_SHIFT, PAGE_KERNEL_RX); - printk(Write protecting the kernel text: %luk\n, size 10); - } -#endif + change_page_attr(virt_to_page(start), + size PAGE_SHIFT, PAGE_KERNEL_RX); + printk(KERN_INFO Write protecting the kernel text: %luk\n, + size 10); + start += size; size = (unsigned long)__end_rodata - start; change_page_attr(virt_to_page(start), size PAGE_SHIFT, PAGE_KERNEL_RO); - printk(Write protecting the kernel read-only data: %luk\n, + printk(KERN_INFO Write protecting the kernel read-only data: %luk\n, size 10); /* @@ -816,6 +809,7 @@ void mark_rodata_ro(void) */ global_flush_tlb(); } + #endif void free_init_pages(char *what, unsigned long begin, unsigned long end) -- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/