x86/mm: Fix section mismatch derived from native_pagetable_reserve()
authorSedat Dilek <sedat.dilek@gmail.com>
Sun, 17 Apr 2011 14:17:34 +0000 (16:17 +0200)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 12 May 2011 17:05:05 +0000 (13:05 -0400)
With CONFIG_DEBUG_SECTION_MISMATCH=y I see these warnings in next-20110415:

  LD      vmlinux.o
  MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x1ba48): Section mismatch in reference from the function native_pagetable_reserve() to the function .init.text:memblock_x86_reserve_range()
The function native_pagetable_reserve() references
the function __init memblock_x86_reserve_range().
This is often because native_pagetable_reserve lacks a __init
annotation or the annotation of memblock_x86_reserve_range is wrong.

This patch fixes the issue.
Thanks to pipacs from PaX project for help on IRC.

Acked-by: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/mm/init.c

index 722a4c372ce3dfa7fb9aa830ea09117b9d1ba445..37b8b0fe8320952c89158d29a508568affbd8c8e 100644 (file)
@@ -81,7 +81,7 @@ static void __init find_early_table_space(unsigned long end, int use_pse,
                end, pgt_buf_start << PAGE_SHIFT, pgt_buf_top << PAGE_SHIFT);
 }
 
-void native_pagetable_reserve(u64 start, u64 end)
+void __init native_pagetable_reserve(u64 start, u64 end)
 {
        memblock_x86_reserve_range(start, end, "PGTABLE");
 }