lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120501202640.GB16209@phenom.dumpdata.com>
Date:	Tue, 1 May 2012 16:26:40 -0400
From:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To:	Josh Boyer <jwboyer@...il.com>
Cc:	linux-kernel@...r.kernel.org, xen-devel@...ts.xensource.com,
	mingo@...nel.org, suresh.b.siddha@...el.com, mlin@...pku.edu.cn
Subject: Re: [GIT PULL] stable/for-ingo-v3.5 of IOAPIC abstraction (and then
 some users) for v3.5

On Tue, May 01, 2012 at 04:08:19PM -0400, Josh Boyer wrote:
> On Tue, May 1, 2012 at 3:42 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@...cle.com> wrote:
> > -static void __init __ioapic_init_mappings(void)
> > +void __init native_io_apic_init_mappings(void)
> >  {
> >        unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0;
> >        struct resource *ioapic_res;
> > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> > index 1a29015..8526317 100644
> > --- a/arch/x86/kernel/setup.c
> > +++ b/arch/x86/kernel/setup.c
> > @@ -1012,7 +1012,7 @@ void __init setup_arch(char **cmdline_p)
> >        init_cpu_to_node();
> >
> >        init_apic_mappings();
> > -       ioapic_and_gsi_init();
> > +       x86_io_apic_ops.init();
> >
> >        kvm_guest_init();
> >
> > diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> > index 9cf71d0..35c5e54 100644
> > --- a/arch/x86/kernel/x86_init.c
> > +++ b/arch/x86/kernel/x86_init.c
> > @@ -18,6 +18,7 @@
> >  #include <asm/e820.h>
> >  #include <asm/time.h>
> >  #include <asm/irq.h>
> > +#include <asm/io_apic.h>
> >  #include <asm/pat.h>
> >  #include <asm/tsc.h>
> >  #include <asm/iommu.h>
> > @@ -119,3 +120,10 @@ struct x86_msi_ops x86_msi = {
> >        .teardown_msi_irqs = default_teardown_msi_irqs,
> >        .restore_msi_irqs = default_restore_msi_irqs,
> >  };
> > +
> > +struct x86_io_apic_ops x86_io_apic_ops = {
> > +       .init   = native_io_apic_init_mappings,
> > +       .read   = native_io_apic_read,
> > +       .write  = native_io_apic_write,
> > +       .modify = native_io_apic_modify,
> > +};
> 
> You'll get a section mismatch warning on this struct.  It's not a huge
> deal, but native_io_apic_init_mappings is annotated as __init whereas
> this struct isn't.  In practice it doesn't seem to matter as
> x86_io_apic_ops.init is only called in setup_arch, but it's still a
> valid warning.

I think that the mismatch disappears if the structure has the word
_ops in it. At least that is what I saw (when I ran with the MODULE_SECTION=y
with the initial implementation of this and then fixed it up).

However, let me double check - I might have seen that with something
else and misremebered it.

> 
> (First noticed in https://bugzilla.redhat.com/show_bug.cgi?id=817645 )
> 
> josh
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ