[PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM

Ard Biesheuvel ard.biesheuvel at linaro.org
Tue Feb 2 11:00:48 PST 2016


On 2 February 2016 at 19:59, Chris Brandt <Chris.Brandt at renesas.com> wrote:
> On Tue, 2 Feb 2016, Ard Biesheuvel wrote:
>
>> This series applies on top of today's -next, and addresses an issue
>> with the new kallsyms code that is queued there, that enables base
>> relative kallsyms tables for all architectures (except IA-64)
>>
>> Two issues have surfaced on ARM with the new kallsyms code:
>> a) CONFIG_HAVE_TCM creates a virtual region that is too far away for the
>>    relative kallsyms code to reach it;
>> b) CONFIG_XIP_KERNEL=y kernel symbols are not filtered against PAGE_OFFSET,
>>    as is the case for kernels that execute from RAM, resulting in symbols
>>    that are out of range.
>
>
> For whatever it's worth:
>
>
> I applied my XIP_KERNEL fixes (for ARMv7) on top of -next and attempted to boot which resulted in a flood of these:
>
>   "Unable to handle kernel NULL pointer dereference at virtual address 00000000"
>
> and of course it dies.
>
>
> I then applied the 3 patches and tried again and this time it booted up....almost.
> It looks like it makes it all the way up to when it is going to mount my rootfs, but then dies.
>
> My kernel (.text) starts at 0xbf000000 (MODULES_VADDR), so the "LR is at 0xb6f87e88" is obviously bad.
>
>
> ================ boot log ======================
>
>
> VFS: Mounted root (squashfs filesystem) readonly on device 31:0.
> devtmpfs: mounted
> Freeing unused kernel memory: 36K (c000a000 - c0013000)
> Unable to handle kernel NULL pointer dereference at virtual address 00000000
> pgd = c05f0000
> [00000000] *pgd=205f5831, *pte=00000000, *ppte=00000000
> Internal error: Oops: 80000007 [#1] ARM
> Modules linked in:
> CPU: 0 PID: 1 Comm: init Not tainted 4.5.0-rc2-next-20160202-dirty #3
> Hardware name: Generic R7S72100 (Flattened Device Tree)
> task: c0613000 ti: c0614000 task.ti: c0614000
> PC is at 0x0
> LR is at 0xb6f87e88
> pc : [<00000000>]    lr : [<b6f87e88>]    psr: 80000093
> sp : c0615ff8  ip : 00000054  fp : beca8ba4
> r10: b6f8b9ab  r9 : 00000000  r8 : 00000014
> r7 : 000000c0  r6 : b6f93f74  r5 : 00000000  r4 : ffffffff
> r3 : 04000022  r2 : 00000003  r1 : 00001000  r0 : 00000000
> Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
> Control: 18c5347d  Table: 205f0059  DAC: 00000055
> Process init (pid: 1, stack limit = 0xc0614208)
> Stack: (0xc0615ff8 to 0xc0616000)
> 5fe0:                                                       fde4be6f 89031a8e
> Backtrace: invalid frame pointer 0xbeca8ba4
> Code: bad PC value
> ---[ end trace ed7071b866b0f003 ]---
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>
> ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>
>

Are you getting any warnings/errors during the build?



More information about the linux-arm-kernel mailing list