x86/head: Make empty_zero_page read-only This makes the zero page read-only. It should have essentially no overhead because it lives in the shiny new .robss..page_aligned section. While I'm at it, use ENDOBJECT to make the objdump output nicer. Signed-off-by: Andy Lutomirski <luto@kernel.org>
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index a2c7f1d..d717182 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S
@@ -558,12 +558,16 @@ #endif initial_pg_fixmap: .fill 1024,4,0 -.globl empty_zero_page -empty_zero_page: - .fill 4096,1,0 .globl swapper_pg_dir swapper_pg_dir: .fill 1024,4,0 + +__PAGE_ALIGNED_ROBSS +.globl empty_zero_page +.align PAGE_SIZE +empty_zero_page: + .fill 4096,1,0 +ENDOBJECT(empty_zero_page) EXPORT_SYMBOL(empty_zero_page) /*
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index b467b14..f13eb18 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S
@@ -496,8 +496,9 @@ #include "../../x86/xen/xen-head.S" - __PAGE_ALIGNED_BSS + __PAGE_ALIGNED_ROBSS NEXT_PAGE(empty_zero_page) .skip PAGE_SIZE +ENDOBJECT(empty_zero_page) EXPORT_SYMBOL(empty_zero_page)