[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120604163556.GA12303@merkur.ravnborg.org>
Date: Mon, 4 Jun 2012 18:35:56 +0200
From: Sam Ravnborg <sam@...nborg.org>
To: Don Zickus <dzickus@...hat.com>
Cc: Witold Baryluk <baryluk@....if.uj.edu.pl>,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org
Subject: Re: WARNING: arch/x86/built-in.o: Section mismatch in reference
from the variable test_nmi_ipi_callback_na to function
.ini.text:test_nmi_ipi_callback
On Mon, Jun 04, 2012 at 10:36:43AM -0400, Don Zickus wrote:
> On Sat, Jun 02, 2012 at 06:15:02PM +0200, Witold Baryluk wrote:
> > Hello everybody,
> >
> > x86 32-bit Build just got 2 WARNINGS when building kernel on Linus' tree.
>
> Hi Witold,
>
> Thanks for the warnings.
>
> >
> >
> > VDSOSYM arch/x86/vdso/vdso32-syms.lds
> > LD arch/x86/vdso/built-in.o
> > LD arch/x86/built-in.o
> > WARNING: arch/x86/built-in.o(.data+0x5af0): Section mismatch in reference from the variable test_nmi_ipi_callback_na.10451 to the function .init.text:test_nmi_ipi_callback()
> > The variable test_nmi_ipi_callback_na.10451 references
> > the function __init test_nmi_ipi_callback()
> > If the reference is valid then annotate the
> > variable with __init* or __refdata (see linux/init.h) or name the variable:
> > *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
> >
> > WARNING: arch/x86/built-in.o(.data+0x5b04): Section mismatch in reference from the variable nmi_unk_cb_na.10399 to the function .init.text:nmi_unk_cb()
> > The variable nmi_unk_cb_na.10399 references
> > the function __init nmi_unk_cb()
> > If the reference is valid then annotate the
> > variable with __init* or __refdata (see linux/init.h) or name the variable:
> > *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
>
> These are intermediate variables test_nmi_ipi_callback_na.10451 and
> nmi_unk_cb_na.10399. I do not know how to fix them.
>
> Basically the test registers two nmi_handlers, run some tests, and
> then unregisters them. Those handlers are what the compiler seems to be
> complaining about. I do not know what magic to pass the compiler to let
> it know that both of the handlers will be unregistered before the init
> section is destroyed.
>
> Perhaps I should tag those callbacks with __ref? I am not sure the right
> thing to do here.
Drop the __init from nmi_unk_cb() and test_nmi_ipi_callback().
Then the warnings are gone.
Trying to let register_nmi_handler() accept a function annotated __init is
wrong as we do not want this.
I someone try this in 'real' code we would be screwed.
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists