Regression identified while booting the Dragonboard 410c (Qualcomm
APQ8016 SBC) using the Linux next-20250702 kernel tag. During device
initialization, the kernel triggers a WARNING in the arm_lpae_map_pages()
function, which is part of the IOMMU subsystem. The call trace also involves
qcom_iommu_map().
Test environments:
Regression Analysis:
-
New regression? Yes
-
Reproducibility? Yes
Boot regression: next-20250702 WARNING iommu io-pgtable-arm.c at
arm_lpae_map_pages qcom_iommu_map
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
List of suspected patches with recent changes.
Boot log
[ 9.504700] ------------[ cut here ]------------
[ 9.509432] WARNING: drivers/iommu/io-pgtable-arm.c:569 at
arm_lpae_map_pages+0x30/0x1cc, CPU#0: udev-worker)/216
[ 9.514301] Modules linked in: snd_soc_core venus_core(+) qrtr
videobuf2_dma_sg qcom_q6v5_mss v4l2_fwnode snd_compress adv7511
llcc_qcom snd_pcm_dmaengine snd_pcm ocmem qcom_pil_info qcom_q6v5
v4l2_async drm_exec snd_timer qcom_sysmon v4l2_mem2mem gpu_sched
videobuf2_memops snd videobuf2_v4l2 qcom_common drm_dp_aux_bus
qcom_spmi_temp_alarm qcom_pon qcom_spmi_vadc drm_display_helper
rtc_pm8xxx soundcore videodev qcom_glink_smem qcom_vadc_common
mdt_loader cec qmi_helpers qnoc_msm8916 videobuf2_common
drm_client_lib mc phy_qcom_usb_hs qcom_stats qcom_rng ramoops socinfo
rpmsg_ctrl rmtfs_mem rpmsg_char display_connector reed_solomon
drm_kms_helper fuse drm backlight ip_tables x_tables
[ 9.562593] CPU: 0 UID: 0 PID: 216 Comm: (udev-worker) Not tainted
6.16.0-rc4-next-20250702 #1 PREEMPT
[ 9.584779] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
[ 9.594059] pstate: 000000c5 (nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 9.601002] pc : arm_lpae_map_pages
(drivers/iommu/io-pgtable-arm.c:569 (discriminator 7))
[ 9.607682] lr : qcom_iommu_map (drivers/iommu/arm/arm-smmu/qcom_iommu.c:441)
[ 9.612196] sp : ffff800083a9b4e0
[ 9.616274] x29: ffff800083a9b4e0 x28: 0000000000000004 x27: 0000000000200000
[ 9.619579] x26: 0000000000000003 x25: ffff000004a2ec78 x24: ffff800083a9b550
[ 9.626698] x23: 0000000000000002 x22: 0000000000100000 x21: 000000008f400000
[ 9.633816] x20: 0000000000000000 x19: ffff000004a2eb48 x18: 0000000000000000
[ 9.640934] x17: ffff000003807000 x16: ffff000003806e00 x15: ffff000004a2ec78
[ 9.648051] x14: ffff000003ef8000 x13: 0000000000000001 x12: ffff000004a2ec10
[ 9.655170] x11: 0000000000000004 x10: 0000000000000820 x9 : 0000000000000000
[ 9.662287] x8 : ffff8000809fe7a4 x7 : ffff800083a9b550 x6 : 0000000000001000
[ 9.669406] x5 : 0000000000000003 x4 : 0000000000000002 x3 : 0000000000100000
[ 9.676530] x2 : 000000008f400000 x1 : 00000000dd800000 x0 : ffff000004a2ec00
[ 9.683643] Call trace:
[ 9.690752] arm_lpae_map_pages (drivers/iommu/io-pgtable-arm.c:569
(discriminator 7)) (P)
[ 9.693013] iommu_map_nosync (drivers/iommu/iommu.c:2505)
[ 9.697524] iommu_map_sg (drivers/iommu/iommu.c:2677)
[ 9.701604] __iommu_dma_alloc_noncontiguous (drivers/iommu/dma-iommu.c:982)
[ 9.705253] iommu_dma_alloc (drivers/iommu/dma-iommu.c:1006
drivers/iommu/dma-iommu.c:1650)
[ 9.710546] dma_alloc_attrs (kernel/dma/mapping.c:638)
[ 9.714452] venus_hfi_create+0xa8/0x248 venus_core
[ 9.718015] hfi_create+0x54/0x6c venus_core
[ 9.723221] venus_probe+0x254/0x574 venus_core
[ 9.727563] platform_probe (drivers/base/platform.c:1404)
[ 9.732333] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:657)
[ 9.735979] __driver_probe_device (drivers/base/dd.c:799)
[ 9.739626] driver_probe_device (drivers/base/dd.c:829)
[ 9.743879] __driver_attach (drivers/base/dd.c:1216 drivers/base/dd.c:1155)
[ 9.747871] bus_for_each_dev (drivers/base/bus.c:370)
[ 9.751690] driver_attach (drivers/base/dd.c:1234)
[ 9.755510] bus_add_driver (drivers/base/bus.c:678)
[ 9.759330] driver_register (drivers/base/driver.c:249)
[ 9.762889] __platform_driver_register (drivers/base/platform.c:868)
[ 9.766623] qcom_venus_driver_init+0x20/0xfc0 venus_core
[ 9.771486] do_one_initcall (init/main.c:1269)
[ 9.776865] do_init_module (kernel/module/main.c:3046)
[ 9.780685] load_module (kernel/module/main.c:3516)
[ 9.784503] init_module_from_file (kernel/module/main.c:3709)
[ 9.788237] __arm64_sys_finit_module (kernel/module/main.c:3720
kernel/module/main.c:3746 kernel/module/main.c:3730
kernel/module/main.c:3730)
[ 9.792668] invoke_syscall (arch/arm64/include/asm/current.h:19
arch/arm64/kernel/syscall.c:54)
[ 9.797264] el0_svc_common.constprop.0 (arch/arm64/kernel/syscall.c:139)
[ 9.800911] do_el0_svc (arch/arm64/kernel/syscall.c:152)
[ 9.805683] el0_svc (arch/arm64/include/asm/irqflags.h:55
arch/arm64/include/asm/irqflags.h:76
arch/arm64/kernel/entry-common.c:169
arch/arm64/kernel/entry-common.c:182
arch/arm64/kernel/entry-common.c:772)
[ 9.808982] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:791)
[ 9.811934] el0t_64_sync (arch/arm64/kernel/entry.S:600)
[ 9.816362] ---[ end trace 0000000000000000 ]---
Source
- Kernel version: 6.16.0-rc4-next-20250702
- Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
- Git sha: 50c8770a42faf8b1c7abe93e7c114337f580a97d
- Git describe: next-20250702
- Project: https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20250702
- Architectures: arm64
- Toolchains: gcc-13
- Kconfigs: gcc-13-lkftconfig
Build
- Test log: https://qa-reports.linaro.org/api/testruns/28989497/log_file/
- Test LAVA log: https://lkft.validation.linaro.org/scheduler/job/8339869#L3862
- Test details:
https://regressions.linaro.org/lkft/linux-next-master/next-20250702/boot/gcc-13-lkftconfig-no-kselftest-frag/
- Test plan: https://tuxapi.tuxsuite.com/v1/groups/linaro/projects/lkft/tests/2zJgUBCVJbqFPufxneFurZszovX
- Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2zJgRgltAwUHEijfEA14MY3VTTF/
- Kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2zJgRgltAwUHEijfEA14MY3VTTF/config
|