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 | — | No solution existsUpgrade kernelUpgrade kernel-rt | Dec 5, 2024 | May 20, 2024 |
| Suse | — | Upgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-azureUpgrade dtb-allwinnerUpgrade kernel-debug-develUpgrade kernel-develUpgrade dtb-amdUpgrade dtb-caviumUpgrade kernel-rt-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-source-azureUpgrade dtb-appleUpgrade kselftests-kmp-64kbUpgrade kernel-rt-optionalUpgrade dtb-qcomUpgrade kernel-debugUpgrade kernel-default-develUpgrade kernel-azureUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-rtUpgrade kernel-source-rtUpgrade kernel-devel-azureUpgrade kernel-sourceUpgrade kernel-default-vdsoUpgrade gfs2-kmp-azureUpgrade kernel-default-optionalUpgrade kernel-syms-azureUpgrade dtb-amazonUpgrade kernel-64kb-livepatch-develUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-optionalUpgrade kernel-rtUpgrade dtb-alteraUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-optionalUpgrade kernel-kvmsmallUpgrade kernel-symsUpgrade dtb-marvellUpgrade kernel-azure-extraUpgrade kselftests-kmp-azureUpgrade dtb-freescaleUpgrade kernel-64kbUpgrade reiserfs-kmp-64kbUpgrade dlm-kmp-64kbUpgrade dtb-hisiliconUpgrade kernel-kvmsmall-livepatch-develUpgrade gfs2-kmp-64kbUpgrade kernel-default-livepatchUpgrade dtb-lgUpgrade kernel-docs-htmlUpgrade kernel-azure-develUpgrade kernel-zfcpdumpUpgrade dtb-broadcomUpgrade kernel-kvmsmall-vdsoUpgrade ocfs2-kmp-64kbUpgrade kernel-source-vanillaUpgrade cluster-md-kmp-rtUpgrade dtb-exynosUpgrade kernel-azure-vdsoUpgrade kernel-rt-extraUpgrade dtb-xilinxUpgrade kselftests-kmp-rtUpgrade kernel-syms-rtUpgrade dtb-rockchipUpgrade dtb-amlogicUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kernel-rt_debugUpgrade kernel-rt-develUpgrade kernel-default-baseUpgrade gfs2-kmp-defaultUpgrade dtb-nvidiaUpgrade dtb-renesasUpgrade kernel-default-livepatch-develUpgrade kernel-obs-qaUpgrade kernel-default-base-rebuildUpgrade kernel-64kb-develUpgrade kernel-obs-buildUpgrade kernel-macrosUpgrade kernel-docsUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade dtb-sprdUpgrade dlm-kmp-rtUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-extraUpgrade reiserfs-kmp-azureUpgrade dlm-kmp-azureUpgrade kselftests-kmp-defaultUpgrade kernel-devel-rtUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-defaultUpgrade kernel-debug-vdsoUpgrade cluster-md-kmp-64kbUpgrade dtb-armUpgrade reiserfs-kmp-rtUpgrade kernel-debug-livepatch-develUpgrade kernel-64kb-extraUpgrade dtb-apmUpgrade dtb-socionextUpgrade dtb-mediatek | Jun 24, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-oracleUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1010-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-awsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-40-genericUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1010-oemUpgrade linux-image-6.8.0-1009-raspiUpgrade linux-image-generic-64kUpgrade linux-image-raspiUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-oem-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1012-azureUpgrade linux-image-genericUpgrade linux-image-gkeUpgrade linux-image-azureUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1013-awsUpgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-lowlatencyUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-6.8 | 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