diff mbox

kernel BUG at kernel/kallsyms.c:222!

Message ID 528110B1.4060402@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jonathan Austin Nov. 11, 2013, 5:15 p.m. UTC
On 11/11/13 10:41, Ming Lei wrote:
> Hi,
> 
> On Mon, Nov 11, 2013 at 5:57 PM, Ming Lei <tom.leiming@gmail.com> wrote:
>> Hi,
>>
>> On Mon, Nov 11, 2013 at 4:37 PM, Axel Lin <axel.lin@ingics.com> wrote:
>>> 2013/11/11 Ming Lei <tom.leiming@gmail.com>:
>>>
>>> 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.
>>
>> Yes, it is the cause, and strictly speaking, commit f6537f2f is wrong,
>> but triggered with bogus CONFIG_PAGE_OFFSET if !CONFIG_MMU.
>>
>> We can fix it either by Rusty's patch or removing the bogus
>> CONFIG_PAGE_OFFSET for !CONFIG_MMU.
> 
> Rusty, maybe we need revert commit f6537f2f "scripts/kallsyms: filter
> symbols not in kernel address space", since CONFIG_PAGE_OFFSET
> may be bogus on !MMU or not defined on ARCHs(most of 64bit arch,
> no regression report because scripts/kallsyms may get zero
> kernel_start_addr)
> 

For me on Cortex-R7 (nommu) f6537f2f breaks boot (Oops very early on...)
and reverting it fixes the problem... However, as you note, we have a
'bogus' CONFIG_PAGE_OFFSET (0xC0000000) for !MMU so another approach would
be to fix that...

I've tested the patch below and it solves the ARM side of things - so
gives you an option other than a complete revert. Happy to put this in to
RMK's patch system if you'd prefer not to have to revert and he's happy
with the patch.

Jonny

-------->8-----------

Comments

Russell King - ARM Linux Nov. 11, 2013, 7:32 p.m. UTC | #1
On Mon, Nov 11, 2013 at 05:15:29PM +0000, Jonathan Austin wrote:
> I've tested the patch below and it solves the ARM side of things - so
> gives you an option other than a complete revert. Happy to put this in to
> RMK's patch system if you'd prefer not to have to revert and he's happy
> with the patch.

I think this is the right solution because it then means that this symbol
has the same meaning whether on MMU or !MMU - and getting rid of these
kinds of gratuitous variances are the only way that !MMU is going to
become less fragile.
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index d601be3..6756651 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1609,6 +1609,7 @@  endchoice
 
 config PAGE_OFFSET
        hex
+       default PHYS_OFFSET if !MMU
        default 0x40000000 if VMSPLIT_1G
        default 0x80000000 if VMSPLIT_2G
        default 0xC0000000