Re: [mainline][Oops][bisected 2ba3e6 ] 5.7.0 boot fails with kernel panic on powerpc

From: Naresh Kamboju
Date: Thu Jun 04 2020 - 04:55:20 EST


On Wed, 3 Jun 2020 at 19:03, Joerg Roedel <jroedel@xxxxxxx> wrote:
>
> On Wed, Jun 03, 2020 at 04:20:57PM +0530, Abdul Haleem wrote:
> > @Joerg, Could you please have a look?
>
> Can you please try the attached patch?

@Joerg, Linaro test farm noticed this kernel crash on nxp ls2088
Machine model: Freescale Layerscape 2088A RDB Board
while booting Linux mainline 5.7.0 version kernel.

After applying your proposed patch fixed boot problem.

Tested-by: Naresh Kamboju <nareshj.kamboju@xxxxxxxxxx>

Test ref:
https://lavalab.nxp.com/scheduler/job/23787#L426

Here is the kernel crash log before patch applied,

[ 0.000000] Linux version 5.7.0-03887-gf6aee505c71b
(TuxBuild@ecb9ef34f06f) (gcc version 9.3.0 (Debian 9.3.0-8), GNU ld
(GNU Binutils for Debian) 2.34) #1 SMP PREEMPT Wed Jun 3 18:21:26 UTC
2020
[ 0.000000] Machine model: Freescale Layerscape 2088A RDB Board
<>
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] Unable to handle kernel paging request at virtual
address fffeffff80000000
[ 0.000000] Mem abort info:
[ 0.000000] ESR = 0x96000004
[ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits
[ 0.000000] SET = 0, FnV = 0
[ 0.000000] EA = 0, S1PTW = 0
[ 0.000000] Data abort info:
[ 0.000000] ISV = 0, ISS = 0x00000004
[ 0.000000] CM = 0, WnR = 0
[ 0.000000] [fffeffff80000000] address between user and kernel address ranges
[ 0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
5.7.0-03887-gf6aee505c71b #1
[ 0.000000] Hardware name: Freescale Layerscape 2088A RDB Board (DT)
[ 0.000000] pstate: 80000085 (Nzcv daIf -PAN -UAO BTYPE=--)
[ 0.000000] pc : map_kernel_range_noflush+0xc0/0x280
[ 0.000000] lr : __vmalloc_node_range+0x154/0x2a0
[ 0.000000] sp : ffffb3b1dcbc3e20
[ 0.000000] x29: ffffb3b1dcbc3e20 x28: fffeffff80000000
[ 0.000000] x27: ffff800010004000 x26: ffff800010000000
[ 0.000000] x25: 0000000000402dc2 x24: ffffb3b1dc53c000
[ 0.000000] x23: 0068000000000f13 x22: 0000000000000004
[ 0.000000] x21: ffffb3b1dc53cf48 x20: 0000000000000000
[ 0.000000] x19: ffffb3b1dc627800 x18: 00000000000000c0
[ 0.000000] x17: 0000000000000000 x16: 0000000000000007
[ 0.000000] x15: dead000000000100 x14: fffffe020b990600
[ 0.000000] x13: dead000000000122 x12: 0000000000000001
[ 0.000000] x11: 0000000000000000 x10: ffff0082fe3fdec0
[ 0.000000] x9 : ffff0082fe342d58 x8 : ffff4cd121ba5000
[ 0.000000] x7 : ffff808010000000 x6 : 0000000000000004
[ 0.000000] x5 : 000000000000fffd x4 : 0000000000004000
[ 0.000000] x3 : ffff800050000000 x2 : 0001000080000000
[ 0.000000] x1 : 0000000000000000 x0 : ffff800010003fff
[ 0.000000] Call trace:
[ 0.000000] map_kernel_range_noflush+0xc0/0x280
[ 0.000000] __vmalloc_node_range+0x154/0x2a0
[ 0.000000] __vmalloc_node+0x5c/0x70
[ 0.000000] init_IRQ+0xac/0xf8
[ 0.000000] start_kernel+0x2d0/0x4dc
[ 0.000000] Code: f90047e0 d503201f d2a80003 8b030343 (f9400380)
[ 0.000000] random: get_random_bytes called from
print_oops_end_marker+0x2c/0x58 with crng_init=0
[ 0.000000] ---[ end trace 0000000000000000 ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!

ref:
https://lavalab.nxp.com/scheduler/job/23596#L603

--
Linaro LKFT
https://lkft.linaro.org