|
@@ -726,19 +726,18 @@ static void __init test_wp_bit(void)
|
|
|
{
|
|
|
char z = 0;
|
|
|
|
|
|
- printk(KERN_INFO
|
|
|
- "Checking if this processor honours the WP bit even in supervisor mode...");
|
|
|
+ printk(KERN_INFO "Checking if this processor honours the WP bit even in supervisor mode...");
|
|
|
|
|
|
__set_fixmap(FIX_WP_TEST, __pa_symbol(empty_zero_page), PAGE_KERNEL_RO);
|
|
|
|
|
|
- if (probe_kernel_write((char *)fix_to_virt(FIX_WP_TEST), &z, 1) == 0) {
|
|
|
- printk(KERN_CONT "No.\n");
|
|
|
- panic("Linux doesn't support CPUs with broken WP.");
|
|
|
+ if (probe_kernel_write((char *)fix_to_virt(FIX_WP_TEST), &z, 1)) {
|
|
|
+ clear_fixmap(FIX_WP_TEST);
|
|
|
+ printk(KERN_CONT "Ok.\n");
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
- clear_fixmap(FIX_WP_TEST);
|
|
|
-
|
|
|
- printk(KERN_CONT "Ok.\n");
|
|
|
+ printk(KERN_CONT "No.\n");
|
|
|
+ panic("Linux doesn't support CPUs with broken WP.");
|
|
|
}
|
|
|
|
|
|
void __init mem_init(void)
|