kernel BUG at kernel/kallsyms.c:222!

Axel Lin axel.lin at ingics.com
Mon Nov 11 03:37:15 EST 2013


2013/11/11 Ming Lei <tom.leiming at gmail.com>:
> Hi,
>
> 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:
>> (arch/arm/include/asm/memory.h)
>>
>> #ifndef PHYS_OFFSET
>> #define PHYS_OFFSET             UL(CONFIG_DRAM_BASE)
>> #endif
>>
>> #ifndef END_MEM
>> #define END_MEM                 (UL(CONFIG_DRAM_BASE) + CONFIG_DRAM_SIZE)
>> #endif
>>
>> #ifndef PAGE_OFFSET
>> #define PAGE_OFFSET             (PHYS_OFFSET)
>> #endif
>>
>> 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.

Hi Ming,

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.

Regards,
Axel



More information about the linux-arm-kernel mailing list