In the Linux kernel, the following vulnerability has been resolved:
dmaengine: idxd: Convert spinlock to mutex to lock evl workqueue
drain_workqueue() cannot be called safely in a spinlocked context due to possible task rescheduling. In the multi-task scenario, calling queue_work() while drain_workqueue() will lead to a Call Trace as pushing a work on a draining workqueue is not permitted in spinlocked context. Call Trace: <TASK> ? __warn+0x7d/0x140 ? __queue_work+0x2b2/0x440 ? report_bug+0x1f8/0x200 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x18/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? __queue_work+0x2b2/0x440 queue_work_on+0x28/0x30 idxd_misc_thread+0x303/0x5a0 [idxd] ? __schedule+0x369/0xb40 ? __pfx_irq_thread_fn+0x10/0x10 ? irq_thread+0xbc/0x1b0 irq_thread_fn+0x21/0x70 irq_thread+0x102/0x1b0 ? preempt_count_add+0x74/0xa0 ? __pfx_irq_thread_dtor+0x10/0x10 ? __pfx_irq_thread+0x10/0x10 kthread+0x103/0x140 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x31/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 </TASK>
The current implementation uses a spinlock to protect event log workqueue and will lead to the Call Trace due to potential task rescheduling.
To address the locking issue, convert the spinlock to mutex, allowing the drain_workqueue() to be called in a safe mutex-locked context.
This change ensures proper synchronization when accessing the event log workqueue, preventing potential Call Trace and improving the overall robustness of the code.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2024 | May 20, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Dec 5, 2024 | May 20, 2024 |
| Suse | — | Upgrade kernel-macrosUpgrade dtb-armUpgrade kernel-docsUpgrade dlm-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade cluster-md-kmp-defaultUpgrade kernel-debug-vdsoUpgrade cluster-md-kmp-64kbUpgrade dtb-renesasUpgrade kernel-azure-vdsoUpgrade kernel-obs-buildUpgrade kernel-rt-extraUpgrade dtb-socionextUpgrade dtb-xilinxUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-devel-rtUpgrade kselftests-kmp-defaultUpgrade dtb-nvidiaUpgrade kernel-default-extraUpgrade kernel-rt_debug-vdsoUpgrade dtb-rockchipUpgrade dlm-kmp-defaultUpgrade kernel-debug-livepatch-develUpgrade reiserfs-kmp-azureUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-rtUpgrade dtb-apmUpgrade dlm-kmp-rtUpgrade kernel-defaultUpgrade kernel-syms-rtUpgrade dtb-sprdUpgrade kernel-obs-qaUpgrade gfs2-kmp-defaultUpgrade kernel-64kb-develUpgrade kernel-default-livepatch-develUpgrade dtb-mediatekUpgrade kernel-64kb-extraUpgrade kernel-default-baseUpgrade kernel-rt-develUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debugUpgrade ocfs2-kmp-azureUpgrade dtb-amlogicUpgrade kernel-default-base-rebuildUpgrade kernel-rtUpgrade kernel-default-vdsoUpgrade kernel-rt_debug-develUpgrade dtb-allwinnerUpgrade kernel-devel-azureUpgrade gfs2-kmp-azureUpgrade dtb-qcomUpgrade kernel-64kbUpgrade dtb-freescaleUpgrade dlm-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-azure-optionalUpgrade kernel-azure-extraUpgrade ocfs2-kmp-rtUpgrade kernel-develUpgrade cluster-md-kmp-rtUpgrade kernel-debug-develUpgrade cluster-md-kmp-azureUpgrade kernel-azureUpgrade dtb-hisiliconUpgrade dtb-amdUpgrade dtb-alteraUpgrade kernel-source-rtUpgrade kernel-debugUpgrade kernel-default-develUpgrade ocfs2-kmp-64kbUpgrade kernel-default-optionalUpgrade gfs2-kmp-rtUpgrade kernel-syms-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-exynosUpgrade kernel-azure-develUpgrade dtb-caviumUpgrade kernel-zfcpdumpUpgrade kernel-source-azureUpgrade kernel-rt-vdsoUpgrade kernel-symsUpgrade kernel-kvmsmallUpgrade kernel-64kb-optionalUpgrade kernel-rt-optionalUpgrade kselftests-kmp-64kbUpgrade kernel-kvmsmall-develUpgrade kernel-azure-livepatch-develUpgrade dtb-appleUpgrade kernel-source-vanillaUpgrade kernel-docs-htmlUpgrade kernel-default-livepatchUpgrade gfs2-kmp-64kbUpgrade dtb-lgUpgrade dtb-broadcomUpgrade kernel-kvmsmall-vdsoUpgrade kernel-64kb-livepatch-develUpgrade dtb-marvellUpgrade dtb-amazonUpgrade ocfs2-kmp-defaultUpgrade kernel-source | Jun 24, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-6.8.0-1010-oemUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-gcpUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-6.8.0-1010-oracleUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oracleUpgrade linux-image-6.8.0-40-genericUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-awsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-oracle-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1013-awsUpgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-azureUpgrade linux-image-ibmUpgrade linux-image-genericUpgrade linux-image-6.8.0-1012-azureUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-lowlatency-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-virtualUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1009-raspi | Aug 9, 2024 | May 20, 2024 |
Prioritise with Active Threat Intelligence
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