On Fri, 8 Mar 2024 at 17:34, Arnd Bergmann <arnd@xxxxxxxx> wrote: > > 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@xxxxxxxxxx> <trim> > 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. Thanks for your explanation. > No idea here, but it seems unrelated to the first one. I will reproduce this issue a few more times and get back to you. > > Something is wrong with your address decoding, there are no line > numbers. Sorry for previous warning lines without line number. Here is the generated warning log with more information. <4>[ 1.657402] ------------[ cut here ]------------ <4>[ 1.657810] vm_area at addr ffffffffc0800000 is not marked as VM_IOREMAP <4>[ 1.659792] WARNING: CPU: 1 PID: 1 at mm/vmalloc.c:315 ioremap_page_range (mm/vmalloc.c:3114) <4>[ 1.661271] Modules linked in: <4>[ 1.662912] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.8.0-rc7-next-20240307 #1 <4>[ 1.663816] Hardware name: linux,dummy-virt (DT) <4>[ 1.666004] pstate: 62400009 (nZCv daif +PAN -UAO +TCO -DIT -SSBS BTYPE=--) <4>[ 1.667123] pc : ioremap_page_range (mm/vmalloc.c:3114) <4>[ 1.667602] lr : ioremap_page_range (mm/vmalloc.c:3114) <trim> <4>[ 1.683829] Call trace: <4>[ 1.684158] ioremap_page_range (mm/vmalloc.c:3114) <4>[ 1.684596] pci_remap_iospace (drivers/pci/pci.c:4138) <4>[ 1.685355] devm_pci_remap_iospace (drivers/pci/devres.c:43) <4>[ 1.687499] devm_of_pci_bridge_init (drivers/pci/of.c:592 drivers/pci/of.c:606) <4>[ 1.687932] devm_pci_alloc_host_bridge (drivers/pci/probe.c:2726 drivers/pci/probe.c:2704) <4>[ 1.688364] pci_host_common_probe (drivers/pci/controller/pci-host-common.c:64) <4>[ 1.688795] platform_probe (drivers/base/platform.c:1411) <4>[ 1.689557] really_probe (drivers/base/dd.c:623 (discriminator 1)) <4>[ 1.689914] __driver_probe_device (drivers/base/dd.c:808) <4>[ 1.691509] driver_probe_device (drivers/base/dd.c:831) <4>[ 1.691902] __driver_attach (drivers/base/dd.c:1217) <4>[ 1.692265] bus_for_each_dev (drivers/base/bus.c:445) <4>[ 1.693324] driver_attach (drivers/base/dd.c:1234) <4>[ 1.693634] bus_add_driver (drivers/base/bus.c:711) <4>[ 1.693945] driver_register (drivers/base/driver.c:258) <4>[ 1.694247] __platform_driver_register (drivers/base/platform.c:868) <4>[ 1.694639] gen_pci_driver_init (drivers/pci/controller/pci-host-generic.c:87) <4>[ 1.694969] do_one_initcall (init/main.c:1255) <4>[ 1.695316] do_initcall_level+0xa8/0x158 <4>[ 1.696868] do_initcalls+0x60/0xa8 <4>[ 1.697734] do_basic_setup+0x28/0x40 <4>[ 1.698282] kernel_init_freeable (init/main.c:1343 (discriminator 1) init/main.c:1537 (discriminator 1)) <4>[ 1.699075] kernel_init (init/main.c:1439) <4>[ 1.699840] ret_from_fork (arch/arm64/kernel/entry.S:861) <4>[ 1.701010] ---[ end trace 0000000000000000 ]--- - Naresh