Re: next-20240905: WARNING: at arch/arm64/include/asm/pkeys.h:40 do_mmap

From: Joey Gouly
Date: Tue Sep 10 2024 - 05:50:25 EST


On Tue, Sep 10, 2024 at 12:00:37PM +0530, Naresh Kamboju wrote:
> The following kernel warning noticed while running the LTP test case
> LTP syscalls mlock03 ( mmap03 ) on
> - Arm DUT Juno-r2
> - Qcomm DUT Dragonboard-410c
>
> running Linux next-20240905, next-20240906 and next-20240909 kernel.
>
> First seen on next-20240905
> Good: next-20240904
> BAD: next-20240905..next-20240909
>
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>
> Warning log:
> ----------
> [ 0.000000] Linux version 6.11.0-rc6-next-20240905
> (tuxmake@tuxmake) (aarch64-linux-gnu-gcc (Debian 13.3.0-5) 13.3.0, GNU
> ld (GNU Binutils for Debian) 2.43) #1 SMP PREEMPT @1725536306
> [ 0.000000] KASLR disabled due to lack of seed
> [ 0.000000] Machine model: ARM Juno development board (r2)
> ..
> mlock03.c:58: TINFO: mlock [aaaaddae1000,aaaaddafd000]
> mlock03.c:62: TINFO: munlock [aaaaddae1000,aaaaddafd000]
> [ 795.850426] ------------[ cut here ]------------
> [ 795.857261] WARNING: CPU: 5 PID: 101577 at
> arch/arm64/include/asm/pkeys.h:40 do_mmap
> (arch/arm64/include/asm/pkeys.h:40 (discriminator 1) mm/mmap.c:338
> (discriminator 1))
> [ 795.868833] Modules linked in: tun overlay btrfs blake2b_generic
> libcrc32c xor xor_neon raid6_pq zstd_compress panfrost tda998x
> onboard_usb_dev drm_shmem_helper hdlcd crct10dif_ce cec gpu_sched
> drm_dma_helper drm_kms_helper fuse drm backlight dm_mod ip_tables
> x_tables
> [ 795.895379] CPU: 5 UID: 0 PID: 101577 Comm: mmap03 Not tainted
> 6.11.0-rc6-next-20240905 #1
> [ 795.906430] Hardware name: ARM Juno development board (r2) (DT)
> [ 795.915135] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 795.924881] pc : do_mmap (arch/arm64/include/asm/pkeys.h:40
> (discriminator 1) mm/mmap.c:338 (discriminator 1))
> [ 795.931236] lr : vm_mmap_pgoff (mm/util.c:588)
> [ 795.938113] sp : ffff80008ba0bc90
> [ 795.944206] x29: ffff80008ba0bc90 x28: 0000000000000001 x27: ffff0008329cf800
> [ 795.954128] x26: ffff0008329cf800 x25: ffff000822140cc0 x24: 0000000000000000
> [ 795.964050] x23: ffff80008ba0bd20 x22: 0000000000000004 x21: 0000000000000000
> [ 795.973972] x20: 0000000000000001 x19: 0000000000001000 x18: 0000000000000000
> [ 795.983895] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
> [ 795.993817] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
> [ 796.003739] x11: 0000000000000000 x10: 0000000000000000 x9 : ffff80008032e2c4
> [ 796.013661] x8 : ffff000827e64c00 x7 : ffff80008ba0bd20 x6 : 0000000000000000
> [ 796.023583] x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000004
> [ 796.033505] x2 : 0000000000001000 x1 : 0000000000000011 x0 : 000000000000fffa
> [ 796.043428] Call trace:
> [ 796.048651] do_mmap (arch/arm64/include/asm/pkeys.h:40
> (discriminator 1) mm/mmap.c:338 (discriminator 1))
> [ 796.054658] vm_mmap_pgoff (mm/util.c:588)
> [ 796.061187] ksys_mmap_pgoff (mm/mmap.c:542)
> [ 796.067980] __arm64_sys_mmap (arch/arm64/kernel/sys.c:21)
> [ 796.074597] invoke_syscall (arch/arm64/include/asm/current.h:19
> arch/arm64/kernel/syscall.c:54)
> [ 796.081213] el0_svc_common.constprop.0
> (include/linux/thread_info.h:127 (discriminator 2)
> arch/arm64/kernel/syscall.c:140 (discriminator 2))
> [ 796.088699] do_el0_svc (arch/arm64/kernel/syscall.c:152)
> [ 796.094879] el0_svc (arch/arm64/include/asm/irqflags.h:82
> (discriminator 1) arch/arm64/include/asm/irqflags.h:123 (discriminator
> 1) arch/arm64/include/asm/irqflags.h:136 (discriminator 1)
> arch/arm64/kernel/entry-common.c:165 (discriminator 1)
> arch/arm64/kernel/entry-common.c:178 (discriminator 1)
> arch/arm64/kernel/entry-common.c:713 (discriminator 1))
> [ 796.100799] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:731)
> [ 796.108024] el0t_64_sync (arch/arm64/kernel/entry.S:598)
> [ 796.114467] ---[ end trace 0000000000000000 ]---

I see what has gone wrong here, it's fortunately harmless. I will send a patch
to fix it.

Thanks,
Joey

>
> boot Log links,
> --------
> - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240905/testrun/25069344/suite/log-parser-test/test/check-kernel-exception-warning-cpu-pid-at-archarmincludeasmpkeysh-do_mmap/log
> - https://lkft.validation.linaro.org/scheduler/job/7842087#L21916
> - https://lkft.validation.linaro.org/scheduler/job/7847924#L23191
>
> Test results history:
> ----------
> - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240909/testrun/25081195/suite/log-parser-test/test/check-kernel-exception-warning-cpu-pid-at-archarmincludeasmpkeysh-do_mmap/history/
>
> metadata:
> ----
> git describe: next-20240905
> git repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
> git sha: ad40aff1edffeccc412cde93894196dca7bc739e
> kernel config:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2leMFe4WompPEOUNN7ODxtTMCxf/config
> build url: https://storage.tuxsuite.com/public/linaro/lkft/builds/2leMFe4WompPEOUNN7ODxtTMCxf/
> toolchain: gcc-13
>
> Steps to reproduce:
> ---------
> - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2leMISlsoJqQdTCCzBmuVwKHq9m/reproducer
> - https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2leMISlsoJqQdTCCzBmuVwKHq9m/tux_plan
>
> --
> Linaro LKFT
> https://lkft.linaro.org
>