diff options
Diffstat (limited to 'arch/x86/mm/init_32.c')
-rw-r--r-- | arch/x86/mm/init_32.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index ee1091a46964..00168e65688a 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -723,25 +723,17 @@ void mark_rodata_ro(void) | |||
723 | unsigned long start = PFN_ALIGN(_text); | 723 | unsigned long start = PFN_ALIGN(_text); |
724 | unsigned long size = PFN_ALIGN(_etext) - start; | 724 | unsigned long size = PFN_ALIGN(_etext) - start; |
725 | 725 | ||
726 | #ifndef CONFIG_KPROBES | 726 | set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT); |
727 | #ifdef CONFIG_HOTPLUG_CPU | 727 | printk(KERN_INFO "Write protecting the kernel text: %luk\n", |
728 | /* It must still be possible to apply SMP alternatives. */ | 728 | size >> 10); |
729 | if (num_possible_cpus() <= 1) | ||
730 | #endif | ||
731 | { | ||
732 | set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT); | ||
733 | printk(KERN_INFO "Write protecting the kernel text: %luk\n", | ||
734 | size >> 10); | ||
735 | 729 | ||
736 | #ifdef CONFIG_CPA_DEBUG | 730 | #ifdef CONFIG_CPA_DEBUG |
737 | printk(KERN_INFO "Testing CPA: Reverting %lx-%lx\n", | 731 | printk(KERN_INFO "Testing CPA: Reverting %lx-%lx\n", |
738 | start, start+size); | 732 | start, start+size); |
739 | set_pages_rw(virt_to_page(start), size>>PAGE_SHIFT); | 733 | set_pages_rw(virt_to_page(start), size>>PAGE_SHIFT); |
740 | 734 | ||
741 | printk(KERN_INFO "Testing CPA: write protecting again\n"); | 735 | printk(KERN_INFO "Testing CPA: write protecting again\n"); |
742 | set_pages_ro(virt_to_page(start), size>>PAGE_SHIFT); | 736 | set_pages_ro(virt_to_page(start), size>>PAGE_SHIFT); |
743 | #endif | ||
744 | } | ||
745 | #endif | 737 | #endif |
746 | start += size; | 738 | start += size; |
747 | size = (unsigned long)__end_rodata - start; | 739 | size = (unsigned long)__end_rodata - start; |