lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 8 Mar 2024 19:54:24 +0530
From: Naresh Kamboju <naresh.kamboju@...aro.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: 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, 
	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, 8 Mar 2024 at 17:34, Arnd Bergmann <arnd@...db.de> 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@...aro.org>

<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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ