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.
- WARNING: CPU: 1 PID: 201 at mm/vmalloc.c:315 ioremap_page_range
- 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@linaro.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