kernel BUG at kernel/kallsyms.c:222!
axel.lin at ingics.com
Mon Nov 11 03:37:15 EST 2013
2013/11/11 Ming Lei <tom.leiming at gmail.com>:
> On Mon, Nov 11, 2013 at 2:43 PM, Axel Lin <axel.lin at ingics.com> wrote:
>> 2013/11/11 Rusty Russell <rusty at rustcorp.com.au>:
>> Hi Rusty,
>> I don't have other noMMU platform to test.
>> But I think this issue impacts various !CONFIG_MMU platforms:
>> We have CONFIG_PAGE_OFFSET=0xC0000000 in various default configs.
>> For !CONFIG_MMU case, it just don't use the CONFIG_PAGE_OFFSET setting.
>> So use CONFIG_PAGE_OFFSET to filter symbols looks wrong to me for all
>> !CONFIG_MMU cases.
>> Below is PAGE_OFFSET setting for !CONFIG_MMU case:
>> #ifndef PHYS_OFFSET
>> #define PHYS_OFFSET UL(CONFIG_DRAM_BASE)
>> #ifndef END_MEM
>> #define END_MEM (UL(CONFIG_DRAM_BASE) + CONFIG_DRAM_SIZE)
>> #ifndef PAGE_OFFSET
>> #define PAGE_OFFSET (PHYS_OFFSET)
>> My patchs for gpl327xx SoC is still in very early stage.
>> I think you should send your fix upstream because I think it impacts other
>> noMMU platforms (for above reason).
> I suggest to do it when we are clear behind the break.
> As I mentioned, no matter what PAGE_OFFSET is, if you link vmlinux
> from the address of PAGE_OFFSET(that is what arm's link script in tree
> does), the filter won't break anything.
commit f6537f2f "scripts/kallsyms: filter symbols not in kernel address space",
uses CONFIG_PAGE_OFFSET as kernel_start_addr.
However, for !CONFIG_MMU case we have :
PAGE_OFFSET != CONFIG_PAGE_OFFSET.
That is why I think the filter breaks !MMU platforms.
More information about the linux-arm-kernel