Re: kernel BUG at kernel/kallsyms.c:222!

From: Axel Lin
Date: Mon Nov 11 2013 - 03:37:21 EST


2013/11/11 Ming Lei <tom.leiming@xxxxxxxxx>:
> Hi,
>
> On Mon, Nov 11, 2013 at 2:43 PM, Axel Lin <axel.lin@xxxxxxxxxx> wrote:
>> 2013/11/11 Rusty Russell <rusty@xxxxxxxxxxxxxxx>:
>>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/