Re: [next] [arm64] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000068

From: Andrew Morton
Date: Tue Jun 15 2021 - 19:26:44 EST


(cc Jens)

On Tue, 15 Jun 2021 16:49:50 +0530 Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:

> Following kernel crash reported while booting linux next 20210615 tag
> on qemu_arm64.
>
> Crash log:
> -------------
> [ 0.767379] Unable to handle kernel NULL pointer dereference at
> virtual address 0000000000000068
> [ 0.769815] Mem abort info:
> [ 0.770735] ESR = 0x96000004
> [ 0.771598] EC = 0x25: DABT (current EL), IL = 32 bits
> [ 0.773008] SET = 0, FnV = 0
> [ 0.773865] EA = 0, S1PTW = 0
> [ 0.774844] FSC = 0x04: level 0 translation fault
> [ 0.776195] Data abort info:
> [ 0.776968] ISV = 0, ISS = 0x00000004
> [ 0.778010] CM = 0, WnR = 0
> [ 0.778961] [0000000000000068] user address but active_mm is swapper
> [ 0.780643] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [ 0.782189] Modules linked in:
> [ 0.783098] CPU: 2 PID: 1 Comm: swapper/0 Not tainted
> 5.13.0-rc6-next-20210615 #1
> [ 0.785239] Hardware name: linux,dummy-virt (DT)
> [ 0.786626] pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
> [ 0.788352] pc : blk_finish_plug+0x88/0x270
> [ 0.789598] lr : blk_queue_write_cache+0x34/0x80
> [ 0.790997] sp : ffff800012aeb9d0
> [ 0.791981] x29: ffff800012aeb9d0 x28: ffff0000c088eeb0 x27: ffff800011a27110
> [ 0.794067] x26: ffff0000c18511a0 x25: ffff8000114ecaa8 x24: 0000000005a00000
> [ 0.796127] x23: ffff8000114ed3c8 x22: 0000000000000000 x21: ffff0000c088fa00
> [ 0.798208] x20: 0000000000000000 x19: 0000000000000000 x18: 0000000000000001
> [ 0.800239] x17: 7265727574636166 x16: 756e614d202e6b6e x15: ffff0000c0290488
> [ 0.802308] x14: ffffffffffffffff x13: ffff0000c088fa2c x12: ffff0000c088fa14
> [ 0.804341] x11: 0000000000000026 x10: 0000000000000401 x9 : ffff80001058247c
> [ 0.806408] x8 : ffff0000c088fa2c x7 : 0000000000000008 x6 : 0000000000000001
> [ 0.808429] x5 : ffff80001258a000 x4 : ffff80001258a260 x3 : 0000000000000068
> [ 0.810492] x2 : 0000000000000001 x1 : 0000000000000068 x0 : 0000000000020000
> [ 0.813153] Call trace:
> [ 0.813878] blk_finish_plug+0x88/0x270
> [ 0.815064] add_mtd_blktrans_dev+0x258/0x3f0
> [ 0.816316] mtdblock_add_mtd+0x6c/0xb8
> [ 0.817428] blktrans_notify_add+0x50/0x78
> [ 0.818666] add_mtd_device+0x304/0x4d8
> [ 0.819790] mtd_device_parse_register+0x1d8/0x2f0
> [ 0.821150] physmap_flash_probe+0x4c8/0x7a8
> [ 0.822431] platform_probe+0x70/0xe0
> [ 0.823494] really_probe+0xf0/0x4d0
> [ 0.824539] driver_probe_device+0x108/0x178
> [ 0.825760] device_driver_attach+0x7c/0x88
> [ 0.827039] __driver_attach+0xb8/0x190
> [ 0.828142] bus_for_each_dev+0x78/0xd0
> [ 0.829254] driver_attach+0x2c/0x38
> [ 0.830381] bus_add_driver+0x14c/0x230
> [ 0.831502] driver_register+0x6c/0x128
> [ 0.832604] __platform_driver_register+0x30/0x40
> [ 0.833952] physmap_init+0x24/0x30
> [ 0.835011] do_one_initcall+0x50/0x2c8
> [ 0.836116] kernel_init_freeable+0x25c/0x2e4
> [ 0.837366] kernel_init+0x2c/0x138
> [ 0.838403] ret_from_fork+0x10/0x18
> [ 0.839453] Code: c8037c22 35ffffa3 17fff238 f9800031 (c85f7c22)
> [ 0.841176] ---[ end trace 66ee8a40712bfd28 ]---
> [ 0.842563] Kernel panic - not syncing: Attempted to kill init!
> exitcode=0x0000000b
> [ 0.844577] SMP: stopping secondary CPUs
> [ 0.845707] Kernel Offset: disabled
> [ 0.846731] CPU features: 0x10000071,00000846
> [ 0.847969] Memory Limit: none
> [ 0.848853] ---[ end Kernel panic - not syncing: Attempted to kill
> init! exitcode=0x0000000b ]---
>
> Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
>
> ref:
> https://lkft.validation.linaro.org/scheduler/job/2901452#L556
>
> metadata:
> git branch: master
> git repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
> git describe: next-20210615
> kernel-config: https://builds.tuxbuild.com/1tyksDCCPiTvc0x6psxC3JvSWqJ/config
>
> build link:
> https://builds.tuxbuild.com/1tyksDCCPiTvc0x6psxC3JvSWqJ/
>
> Steps to reproduce:
> --------------------------
> # TuxMake is a command line tool and Python library that provides
> # portable and repeatable Linux kernel builds across a variety of
> # architectures, toolchains, kernel configurations, and make targets.
> #
> # TuxMake supports the concept of runtimes.
> # See https://docs.tuxmake.org/runtimes/, for that to work it requires
> # that you install podman or docker on your system.
> #
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> # See https://docs.tuxmake.org/ for complete documentation.
>
>
> tuxmake --runtime podman --target-arch arm64 --toolchain gcc-9
> --kconfig defconfig --kconfig-add
> https://builds.tuxbuild.com/1tyksDCCPiTvc0x6psxC3JvSWqJ/config
>
> --
> Linaro LKFT
> https://lkft.linaro.org