[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <8f69d1f2-0ce3-4851-a784-c76b274dd9ff@app.fastmail.com>
Date: Fri, 08 Mar 2024 13:04:28 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Naresh Kamboju" <naresh.kamboju@...aro.org>,
linux-mm <linux-mm@...ck.org>, linux-next <linux-next@...r.kernel.org>,
"open list" <linux-kernel@...r.kernel.org>,
"Linux Regressions" <regressions@...ts.linux.dev>,
lkft-triage@...ts.linaro.org
Cc: "Andrew Morton" <akpm@...ux-foundation.org>,
"Ard Biesheuvel" <ardb@...nel.org>, "Alexei Starovoitov" <ast@...nel.org>,
"Andrii Nakryiko" <andrii@...nel.org>,
"Dan Carpenter" <dan.carpenter@...aro.org>
Subject: Re: arm64: WARNING: at mm/vmalloc.c:315 ioremap_page_range
On Fri, Mar 8, 2024, at 12:53, Naresh Kamboju wrote:
> The following warning was noticed while boot arm and arm64 devices.
> The below log is extracted from arm64 ROCK Pi 4B while booting and
> another issue is kernel oops noticed while testing selftests: kvm:
> memslot_perf_test.
>
> 1) WARNING: CPU: 1 PID: 201 at mm/vmalloc.c:315 ioremap_page_range
> 2) Unable to handle kernel NULL pointer dereference at virtual address
> Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
> Kernel panic - not syncing: Oops: Fatal exception in interrupt
>
> Please find steps to reproduce, logs and config file links below.
>
> Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>
>
> Warning log:
> -----------
> [ 21.074045] ------------[ cut here ]------------
> [ 21.074468] vm_area at addr ffffffffc0800000 is not marked as VM_IOREMAP
> [ 21.075125] WARNING: CPU: 1 PID: 201 at mm/vmalloc.c:315
> ioremap_page_range (vmalloc.c:?)
> [ 21.075854] Modules linked in: industrialio_triggered_buffer
> pcie_rockchip_host(+) coresight kfifo_buf drm fuse backlight dm_mod
> ip_tables x_tables
> [ 21.077047] CPU: 1 PID: 201 Comm: (udev-worker) Not tainted
> 6.8.0-rc7-next-20240307 #1
> [ 21.077749] Hardware name: Radxa ROCK Pi 4B (DT)
> [ 21.078163] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 21.078782] pc : ioremap_page_range (vmalloc.c:?)
> [ 21.079197] lr : ioremap_page_range (vmalloc.c:?)
> <trim>
> [ 21.086242] Call trace:
> [ 21.086464] ioremap_page_range (vmalloc.c:?)
> [ 21.086839] pci_remap_iospace (??:?)
> [ 21.087192] devm_pci_remap_iospace (??:?)
> [ 21.087579] devm_of_pci_bridge_init (??:?)
> [ 21.087990] devm_pci_alloc_host_bridge (??:?)
> [ 21.088410] rockchip_pcie_probe+0x34/0x30c pcie_rockchip_host
The warning was added by commit 3e49a866c9dc ("mm: Enforce
VM_IOREMAP flag and range in ioremap_page_range.").
This indeed uses a special memory area at a fixed physical address,
but I don't see where the vm_struct comes from.
> # Testing move active area performance with 1 runs, 5 seconds each
> [ 353.142236] Unable to handle kernel NULL pointer dereference at
> virtual address 000000000000000a
> [ 353.143045] Mem abort info:
...
> [ 353.156328] Hardware name: Radxa ROCK Pi 4B (DT)
> [ 353.156743] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 353.157369] pc : unmap_region (mmap.c:?)
> [ 353.157744] lr : unmap_region (mmap.c:?)
> <trim>
>
> [ 353.164918] Call trace:
> [ 353.165144] unmap_region (mmap.c:?)
> [ 353.165478] do_vmi_align_munmap (mmap.c:?)
> [ 353.165873] do_vmi_munmap (??:?)
No idea here, but it seems unrelated to the first one.
Something is wrong with your address decoding, there are no line
numbers.
Arnd
Powered by blists - more mailing lists