lkml.org 
[lkml]   [2012]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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


\
 
 \ /
  Last update: 2012-06-04 19:21    [W:1.657 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site