lkml.org 
[lkml]   [2008]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] x86: silence section mismatch warning - get_local_pda
    Date
    Take out part of get_local_pda referencing __init function (free_bootmem)
    to new (static) function marked as __ref. It's safe to do because free_bootmem
    is called before __init sections are dropped.

    WARNING: vmlinux.o(.cpuinit.text+0x3cd7): Section mismatch in reference from the function get_local_pda() to the function .init.text:free_bootmem()
    The function __cpuinit get_local_pda() references
    a function __init free_bootmem().
    If free_bootmem is only used by get_local_pda then
    annotate free_bootmem with a matching annotation.

    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
    Cc: Mike Travis <travis@sgi.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    ---
    arch/x86/kernel/smpboot.c | 11 +++++++++--
    1 files changed, 9 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
    index 91055d7..47dbf98 100644
    --- a/arch/x86/kernel/smpboot.c
    +++ b/arch/x86/kernel/smpboot.c
    @@ -756,6 +756,14 @@ static void __cpuinit do_fork_idle(struct work_struct *work)
    }

    #ifdef CONFIG_X86_64
    +
    +/* __ref because it's safe to call free_bootmem when after_bootmem == 0. */
    +static void __ref free_bootmem_pda(struct x8664_pda *oldpda)
    +{
    + if (!after_bootmem)
    + free_bootmem((unsigned long)oldpda, sizeof(*oldpda));
    +}
    +
    /*
    * Allocate node local memory for the AP pda.
    *
    @@ -784,8 +792,7 @@ int __cpuinit get_local_pda(int cpu)

    if (oldpda) {
    memcpy(newpda, oldpda, size);
    - if (!after_bootmem)
    - free_bootmem((unsigned long)oldpda, size);
    + free_bootmem_pda(oldpda);
    }

    newpda->in_bootmem = 0;
    --
    1.5.4.5


    \
     
     \ /
      Last update: 2008-08-17 17:55    [W:0.044 / U:60.592 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site