HomeDefectsLIN1025-3118
Not to be fixed

LIN1025-3118 : [orin-agx] WARNING: possible recursive locking detected at alter_usermode_mappings+0x68/0x220 [nvgpu]

Created: Aug 4, 2025    Updated: Dec 22, 2025
Resolved Date: Dec 22, 2025
Found In Version: 10.25.33.1
Severity: Standard
Applicable for: Wind River Linux LTS 25
Component/s: BSP

Description

Nvidia kernel oot code is not very perfect about the usage case of lock, but it doesn't affect  display and gpu feature.

Detailed warning trace as below:

============================================
WARNING: possible recursive locking detected
6.12.40-yocto-standard #1 Tainted: G           O
--------------------------------------------
nvpmodel/1028 is trying to acquire lock:
ffff0000ae5ab2d8 (&mutex->mutex#2)\{+.+.}-\{3:3}, at: alter_usermode_mappings+0x68/0x220 [nvgpu]
 
but task is already holding lock:
ffff0000ae5a3a70 (&mutex->mutex#2)\{+.+.}-\{3:3}, at: gk20a_pm_finalize_poweron+0x8c/0x800 [nvgpu]
 
other info that might help us debug this:
Possible unsafe locking scenario:
 
       CPU0
       ----
  lock(&mutex->mutex#2);
  lock(&mutex->mutex#2);
 
*** DEADLOCK ***
 
May be due to missing lock nesting notation
 
5 locks held by nvpmodel/1028:
#0: ffff000089e73408 (sb_writers#3)\{.+.+}-\{0:0}, at: vfs_write+0x2c4/0x360
#1: ffff00009c2f0688 (&of->mutex#2)\{+.+.}-\{3:3}, at: kernfs_fop_write_iter+0x104/0x210
#2: ffff000081144bb8 (kn->active#67)\{.+.+}-\{0:0}, at: kernfs_fop_write_iter+0x10c/0x210
#3: ffff0000828970f8 (&dev->mutex)\{....}-\{3:3}, at: control_store+0x40/0xb0
#4: ffff0000ae5a3a70 (&mutex->mutex#2)\{+.+.}-\{3:3}, at: gk20a_pm_finalize_poweron+0x8c/0x800 [nvgpu]
 
stack backtrace:
CPU: 4 UID: 0 PID: 1028 Comm: nvpmodel Tainted: G           O       6.12.40-yocto-standard #1
Tainted: [O]=OOT_MODULE
Hardware name: NVIDIA NVIDIA Jetson AGX Orin Developer Kit/Jetson, BIOS v36.4.3 08/09/2023
Call trace:
dump_backtrace.part.0+0xe0/0x100
show_stack+0x20/0x40
dump_stack_lvl+0x7c/0xb0
dump_stack+0x18/0x28
print_deadlock_bug+0x224/0x230
__lock_acquire+0x100c/0x17f8
lock_acquire+0x168/0x360
__mutex_lock+0x9c/0x410
mutex_lock_nested+0x2c/0x40
alter_usermode_mappings+0x68/0x220 [nvgpu]
nvgpu_restore_usermode_for_poweron+0x1c/0x30 [nvgpu]
gk20a_pm_finalize_poweron+0x140/0x800 [nvgpu]
gk20a_pm_runtime_resume+0x50/0xa0 [nvgpu]
pm_generic_runtime_resume+0x34/0x60
__genpd_runtime_resume+0x38/0x98
genpd_runtime_resume+0x108/0x248
__rpm_callback+0x50/0x200
rpm_callback+0x70/0x90
rpm_resume+0x4bc/0x728
pm_runtime_forbid+0x58/0xa0
control_store+0xa4/0xb0
dev_attr_store+0x20/0x40
sysfs_kf_write+0x54/0x90
kernfs_fop_write_iter+0x134/0x210
vfs_write+0x23c/0x360
ksys_write+0x7c/0x120
__arm64_sys_write+0x24/0x40
invoke_syscall+0x5c/0x128
el0_svc_common.constprop.0+0xc8/0xf8
do_el0_svc+0x24/0x40
el0_svc+0x48/0x148
el0t_64_sync_handler+0x120/0x130
el0t_64_sync+0x190/0x198

Steps to Reproduce


/lpg-build/cdc/fast_prod/WRL10_25/WRL10_25_GIT/wrlinux-10/setup.sh --machines nvidia-orin-agx --distro wrlinux-graphics --templates feature/docker --dl-layers=1 --accept-eula=yes
source environment-setup-x86_64-wrlinuxsdk-linux
source oe-init-build-env build

echo 'BB_NUMBER_THREADS ?= "24"' >> conf/local.conf
echo 'PARALLEL_MAKE ?= "-j 24"' >> conf/local.conf
export https_proxy=147.11.252.42:9090
export http_proxy=147.11.252.42:9090
bitbake-layers add-layer /net/pek-lpgtest16.wrs.com/buildarea1/wgao/wassp-linux/testcases/wrlinux/wr-testing/bts-dev

#####To Clone a whole new testcases layer#####
git clone --depth 1 -b master git://lxgit.wrs.com/wrlinux-testing/testcases.git ../layers/testcases/wrlinux/
bitbake-layers add-layer ../layers/testcases/wrlinux/wr-testing/bts-dev
#####End#####

echo '
require templates/feature/bts/template.conf
IMAGE_FSTYPES += " tar.bz2"
bitbake-layers add-layer /net/pek-lpgtest7408/buildarea1/SharedImage/wrlinux-testing-dl
echo 'KERNEL_FEATURES:append = " features/intel-e1xxxx/intel-e1xxxx.scc"
LICENSE_FLAGS_ACCEPTED += "commercial_faad2 commercial_x264 commercial"
CUSTOMER_RECIPES:networking-layer += 'mosquitto'
CUSTOMER_RECIPES:meta-python += 'python3-kconfiglib python3-smbus2'
CUSTOMER_RECIPES:openembedded-layer += 'libglvnd faad2 libwebsockets uthash'
CUSTOMER_RECIPES:tegra += 'tegra-flashtools tegra-bootfiles tegra-minimal-initramfs tegra-espimage edk2-firmware-tegra tegra-tools nvidia-kernel-oot-dtb nvidia-kernel-oot'
CUSTOMER_RECIPES:tegra += 'edk2-firmware-tegra-minimal tegra-initrd-flash-initramfs tos-optee cuda-samples argus-samples l4t-graphics-demos nvgstapps cudnn-samples nvidia-docker'
CUSTOMER_RECIPES:tegra += 'optee-nvsamples optee-test optee-client optee-os optee-os-tadevkit standalone-mm-optee-tegra'
CUSTOMER_RECIPES:tegra += 'nativesdk-packagegroup-cuda-sdk-host tegra-firmware tegra-minimal-init tegra-flash-init'
CUSTOMER_RECIPES:tegra += 'libgcc-for-nvcc gcc-for-nvcc-runtime gcc-for-nvcc-cross-aarch64 gcc-for-nvcc gcc-for-nvcc-cross-canadian-aarch64 gcc-source-for-nvcc-10.3.0'
CUSTOMER_RECIPES:tegra += 'tegra-nvfancontrol tegra-helper-scripts tegra-flashvars tegra-binaries tegra-eks-image tegra-storage-layout'
CUSTOMER_RECIPES:tegra += 'arm-trusted-firmware tar-l4t-workaround-native cudnn libgstnvcustomhelper cupva'
CUSTOMER_RECIPES:tegra += 'cuda-profiler-api cuda-cudart cuda-compatibility-workarounds cuda-crt cuda-compiler cuda-libraries'
CUSTOMER_RECIPES:tegra += 'tegra-mmapi tegra-cmake-overrides tegra-libraries-multimedia-utils tegra-drm-headers tegra-libraries-nvdsseimeta tegra-libraries-multimedia'
CUSTOMER_RECIPES:tegra += 'tegra-wifi tegra-nvstartup tegra-bluetooth tegra-nvsciipc tegra-nvphs tegra-nvs-service tegra-configs tegra-redundant-boot tegra-redundant-boot-base tegra-libraries-cuda'
CUSTOMER_RECIPES:tegra += 'gstreamer1.0-plugins-nvvideosinks gstreamer1.0-plugins-nvvidconv gstreamer1.0-plugins-nvdrmvideosink gstreamer1.0-plugins-nvarguscamerasrc'
CUSTOMER_RECIPES:tegra += 'gstreamer1.0-plugins-nvcompositor gstreamer1.0-plugins-nveglgles gstreamer1.0-plugins-nvipcpipeline gstreamer1.0-plugins-nvjpeg gstreamer1.0-plugins-nvtee'
CUSTOMER_RECIPES:tegra += 'gstreamer1.0-plugins-nvunixfd gstreamer1.0-plugins-nvv4l2camerasrc gstreamer1.0-plugins-nvvideo4linux2 gstreamer1.0-plugins-tegra gstreamer1.0-plugins-tegra-binaryonly'
CUSTOMER_RECIPES:tegra += 'tensorrt-trtexec tensorrt-samples tegra-mmapi-samples libcublas nv-tegra-release tegra-nvpmodel nvidia-container-toolkit tegra-libraries-multimedia-v4l'
CUSTOMER_RECIPES:tegra += 'libusbgx-tegra-initrd-flash tegra-flash-reboot tegra-storage-layout-base tegra-nvpower tegra-nvpmodel-base tegra-eks-image-base tegra-configs-alsa'
CUSTOMER_RECIPES:tegra += 'cuda-cccl cuda-cuxxfilt cuda-driver cuda-nvcc-headers cuda-nvprune cuda-nvvm cuda-cuobjdump cuda-nvcc cuda-nvml cuda-nvrtc cuda-target-environment'
CUSTOMER_RECIPES:tegra += 'libnvjitlink libnvvpi3 libcusolver libcurand libcudla libcufft libcusparse libcufile libnpp libnvidia-container libnvfatbin'
CUSTOMER_RECIPES:tegra += 'l4t-nvidia-glheaders l4t-graphics-demos l4t-launcher-rootfs-ab-config l4t-launcher-extlinux'
CUSTOMER_RECIPES:tegra += 'tegra-libraries-glescore tegra-argus-daemon tegra-eeprom-tool tegra-libraries-camera tegra-libraries-core tegra-libraries-dla-compiler tegra-libraries-eglcore'
CUSTOMER_RECIPES:tegra += 'tegra-libraries-gbm-backend tegra-libraries-glxcore tegra-libraries-multimedia-ds tegra-libraries-nvml tegra-libraries-nvsci tegra-libraries-pva'
CUSTOMER_RECIPES:tegra += 'egl-wayland nvidia-drm-loadconf egl-gbm tegra-nvs-base tegra-nvsciipc-base tegra-nvphs-base tegra-cuda-utils tegra-container-passthrough'
CUSTOMER_RECIPES:tegra += 'xserver-xorg-video-nvidia nativesdk-cuda-environment tegra-nv-boot-control-config setup-nv-boot-control tensorrt-plugins tensorrt-core eglexternalplatform'
CUSTOMER_RECIPES:tegra-community += 'gstreamer-tests tegra-mmapi-tests vpi3-tests tensorrt-tests deepstream-tests python3-jetson-stats nvidia-docker-tests'
CUSTOMER_RECIPES:tegra-community += 'vpi3-samples deepstream-7.1-pyds deepstream-7.1 python3-cuda openssl111 yaml-cpp-070 python3-pyclibrary'
BUILD_NVIDIA_PROPRIETARY_PACKAGE = "1"
BB_NO_NETWORK = '0'' >> conf/local.conf
bitbake wrlinux-image-std-sato