In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: fix deadlock while reading mqd from debugfs
An errant disk backup on my desktop got into debugfs and triggered the following deadlock scenario in the amdgpu debugfs files. The machine also hard-resets immediately after those lines are printed (although I wasn't able to reproduce that part when reading by hand):
[ 1318.016074][ T1082] ====================================================== [ 1318.016607][ T1082] WARNING: possible circular locking dependency detected [ 1318.017107][ T1082] 6.8.0-rc7-00015-ge0c8221b72c0 #17 Not tainted [ 1318.017598][ T1082] ------------------------------------------------------ [ 1318.018096][ T1082] tar/1082 is trying to acquire lock: [ 1318.018585][ T1082] ffff98c44175d6a0 (&mm->mmap_lock){++++}-{3:3}, at: __might_fault+0x40/0x80 [ 1318.019084][ T1082] [ 1318.019084][ T1082] but task is already holding lock: [ 1318.020052][ T1082] ffff98c4c13f55f8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: amdgpu_debugfs_mqd_read+0x6a/0x250 [amdgpu] [ 1318.020607][ T1082] [ 1318.020607][ T1082] which lock already depends on the new lock. [ 1318.020607][ T1082] [ 1318.022081][ T1082] [ 1318.022081][ T1082] the existing dependency chain (in reverse order) is: [ 1318.023083][ T1082] [ 1318.023083][ T1082] -> #2 (reservation_ww_class_mutex){+.+.}-{3:3}: [ 1318.024114][ T1082] __ww_mutex_lock.constprop.0+0xe0/0x12f0 [ 1318.024639][ T1082] ww_mutex_lock+0x32/0x90 [ 1318.025161][ T1082] dma_resv_lockdep+0x18a/0x330 [ 1318.025683][ T1082] do_one_initcall+0x6a/0x350 [ 1318.026210][ T1082] kernel_init_freeable+0x1a3/0x310 [ 1318.026728][ T1082] kernel_init+0x15/0x1a0 [ 1318.027242][ T1082] ret_from_fork+0x2c/0x40 [ 1318.027759][ T1082] ret_from_fork_asm+0x11/0x20 [ 1318.028281][ T1082] [ 1318.028281][ T1082] -> #1 (reservation_ww_class_acquire){+.+.}-{0:0}: [ 1318.029297][ T1082] dma_resv_lockdep+0x16c/0x330 [ 1318.029790][ T1082] do_one_initcall+0x6a/0x350 [ 1318.030263][ T1082] kernel_init_freeable+0x1a3/0x310 [ 1318.030722][ T1082] kernel_init+0x15/0x1a0 [ 1318.031168][ T1082] ret_from_fork+0x2c/0x40 [ 1318.031598][ T1082] ret_from_fork_asm+0x11/0x20 [ 1318.032011][ T1082] [ 1318.032011][ T1082] -> #0 (&mm->mmap_lock){++++}-{3:3}: [ 1318.032778][ T1082] __lock_acquire+0x14bf/0x2680 [ 1318.033141][ T1082] lock_acquire+0xcd/0x2c0 [ 1318.033487][ T1082] __might_fault+0x58/0x80 [ 1318.033814][ T1082] amdgpu_debugfs_mqd_read+0x103/0x250 [amdgpu] [ 1318.034181][ T1082] full_proxy_read+0x55/0x80 [ 1318.034487][ T1082] vfs_read+0xa7/0x360 [ 1318.034788][ T1082] ksys_read+0x70/0xf0 [ 1318.035085][ T1082] do_syscall_64+0x94/0x180 [ 1318.035375][ T1082] entry_SYSCALL_64_after_hwframe+0x46/0x4e [ 1318.035664][ T1082] [ 1318.035664][ T1082] other info that might help us debug this: [ 1318.035664][ T1082] [ 1318.036487][ T1082] Chain exists of: [ 1318.036487][ T1082] &mm->mmap_lock --> reservation_ww_class_acquire --> reservation_ww_class_mutex [ 1318.036487][ T1082] [ 1318.037310][ T1082] Possible unsafe locking scenario: [ 1318.037310][ T1082] [ 1318.037838][ T1082] CPU0 CPU1 [ 1318.038101][ T1082] ---- ---- [ 1318.038350][ T1082] lock(reservation_ww_class_mutex); [ 1318.038590][ T1082] lock(reservation_ww_class_acquire); [ 1318.038839][ T1082] lock(reservation_ww_class_mutex); [ 1318.039083][ T1082] rlock(&mm->mmap_lock); [ 1318.039328][ T1082] [ 1318.039328][ T1082] *** DEADLOCK *** [ 1318.039328][ T1082] [ 1318.040029][ T1082] 1 lock held by tar/1082: [ 1318.040259][ T1082] #0: ffff98c4c13f55f8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: amdgpu_debugfs_mqd_read+0x6a/0x250 [amdgpu] [ 1318.040560][ T1082] [ 1318.040560][ T1082] stack backtrace: [ ---truncated---
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Dec 5, 2024 | May 17, 2024 |
| Suse | — | Upgrade kernel-source-azureUpgrade dtb-broadcomUpgrade dtb-alteraUpgrade kernel-zfcpdumpUpgrade dtb-amazonUpgrade cluster-md-kmp-defaultUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-rtUpgrade dtb-freescaleUpgrade gfs2-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade dtb-lgUpgrade kernel-azure-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-azure-vdsoUpgrade kernel-rt-develUpgrade kernel-azure-optionalUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-default-extraUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-vdsoUpgrade kernel-symsUpgrade ocfs2-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-rt-livepatch-develUpgrade kernel-obs-qaUpgrade kernel-rt_debug-vdsoUpgrade dtb-apmUpgrade kernel-default-develUpgrade kernel-syms-rtUpgrade kernel-sourceUpgrade dtb-amlogicUpgrade reiserfs-kmp-azureUpgrade kernel-default-vdsoUpgrade kernel-kvmsmallUpgrade kernel-default-base-rebuildUpgrade kernel-kvmsmall-develUpgrade dlm-kmp-64kbUpgrade kernel-64kb-livepatch-develUpgrade ocfs2-kmp-rtUpgrade kernel-macrosUpgrade dtb-exynosUpgrade kselftests-kmp-64kbUpgrade dtb-qcomUpgrade kernel-devel-azureUpgrade kernel-64kbUpgrade cluster-md-kmp-rtUpgrade kernel-syms-azureUpgrade kernel-azure-develUpgrade kernel-rtUpgrade dtb-hisiliconUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-debug-develUpgrade kernel-64kb-develUpgrade kernel-debug-vdsoUpgrade dtb-socionextUpgrade kernel-64kb-optionalUpgrade kernel-rt_debugUpgrade dtb-mediatekUpgrade dlm-kmp-rtUpgrade dtb-appleUpgrade kernel-obs-buildUpgrade kernel-docs-htmlUpgrade dtb-armUpgrade dlm-kmp-azureUpgrade kernel-azureUpgrade dtb-marvellUpgrade dtb-allwinnerUpgrade kernel-rt-optionalUpgrade kernel-develUpgrade kernel-default-baseUpgrade kernel-64kb-extraUpgrade kernel-defaultUpgrade dtb-sprdUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade dtb-rockchipUpgrade dtb-amdUpgrade kernel-source-rtUpgrade ocfs2-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kselftests-kmp-azureUpgrade dtb-renesasUpgrade dtb-nvidiaUpgrade gfs2-kmp-azureUpgrade kernel-devel-rtUpgrade gfs2-kmp-defaultUpgrade kselftests-kmp-defaultUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-rtUpgrade kernel-azure-extraUpgrade dtb-caviumUpgrade kernel-source-vanillaUpgrade cluster-md-kmp-64kbUpgrade kernel-debugUpgrade dtb-xilinxUpgrade kernel-rt-extraUpgrade kernel-default-livepatch-develUpgrade kernel-docs | Jun 24, 2024 | May 17, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1009-awsUpgrade linux-image-genericUpgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-35-genericUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-virtualUpgrade linux-image-oem-24.04aUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-gcpUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azureUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-oracleUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-kvmUpgrade linux-image-ibmUpgrade linux-image-aws | Jul 1, 2024 | May 17, 2024 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub