Unknown Symbol fc20
Josh Boyer
jwboyer at redhat.com
Wed Jul 10 14:41:06 UTC 2013
On Wed, Jul 10, 2013 at 10:39:43AM -0400, Josh Boyer wrote:
> On Wed, Jul 10, 2013 at 10:17:22AM -0400, Dave Anderson wrote:
> >
> >
> > > > while yum updating
> > > >
> > > > Installing :
> > > > kernel-3.11.0-0.rc0.git2.1.fc20.x86_64
> > > > 1/1 depmod:
> > > > WARNING: /lib/modules/3.11.0-0.rc0.git2.1.fc20.x86_64/kernel/drivers/char/crash.ko
> > > > needs unknown symbol page_is_ram Verifying :
> > > > kernel-3.11.0-0.rc0.git2.1.fc20.x86_64
> > > Thanks. Someone else reported this yesterday as well. It shouldn't
> > > cause any problems for most Fedora users, as it will only impact those
> > > using the crash tool.
> > >
> > > josh
> >
> > OK, but for those of us who use it, the change that presumably causes this
> > would be this part of this commit:
> >
> > commit c5a130325f13b219438cb100e2da71a3e31199f3
> > Author: Chen Gong <gong.chen at linux.intel.com>
> > Date: Thu Jun 6 15:20:51 2013 -0700
> >
> > ACPI/APEI: Add parameter check before error injection
> >
> > When param1 is enabled in EINJ but not assigned with a valid
> > value, sometimes it will cause the error like below:
> >
> > APEI: Can not request [mem 0x7aaa7000-0x7aaa7007] for APEI EINJ Trigger registers
> >
> > It is because some firmware will access target address specified in
> > param1 to trigger the error when injecting memory error. This will
> > cause resource conflict with regular memory. So It must be removed
> > from trigger table resources, but incorrect param1/param2
> > combination will stop this action. Add extra check to avoid
> > this kind of error.
> >
> > Signed-off-by: Chen Gong <gong.chen at linux.intel.com>
> > Signed-off-by: Tony Luck <tony.luck at intel.com>
> >
> > diff --git a/kernel/resource.c b/kernel/resource.c
> > index d738698..77bf11a 100644
> > --- a/kernel/resource.c
> > +++ b/kernel/resource.c
> > @@ -409,6 +409,7 @@ int __weak page_is_ram(unsigned long pfn)
> > {
> > return walk_system_ram_range(pfn, 1, NULL, __is_ram) == 1;
> > }
> > +EXPORT_SYMBOL_GPL(page_is_ram);
> >
> > void __weak arch_remove_reservations(struct resource *avail)
> > {
> >
> >
> > where the additional EXPORT_SYMBOL_GPL(page_is_ram) above now makes
> > it available from both kernel/resource.c and arch/x86/mm/ioremap.c.
> > Why would that make it an unknown symbol?
>
> I don't see it in arch/x86/mm/ioremap.c at all. It's defined as __weak
> in kernel/resource.c, so I'm guessing some kind of interaction there is
> going wrong with the linking?
Oh, yeah I see why I didn't see it in arch/x86/mm/ioremap.c. I was
looking at the upstream kernel, not one patched with the crash driver
patches. Sigh.
Maybe someone could take a poke at upstreaming that again so stuff like
this doesn't happen during rebases?
josh
More information about the kernel
mailing list