In the Linux kernel, the following vulnerability has been resolved:
mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.
Commit 5a836bf6b09f ("mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context") moved all flush_cpu_slab() invocations to the global workqueue to avoid a problem related with deactivate_slab()/__free_slab() being called from an IRQ context on PREEMPT_RT kernels.
When the flush_all_cpu_locked() function is called from a task context it may happen that a workqueue with WQ_MEM_RECLAIM bit set ends up flushing the global workqueue, this will cause a dependency issue.
workqueue: WQ_MEM_RECLAIM nvme-delete-wq:nvme_delete_ctrl_work [nvme_core] is flushing !WQ_MEM_RECLAIM events:flush_cpu_slab WARNING: CPU: 37 PID: 410 at kernel/workqueue.c:2637 check_flush_dependency+0x10a/0x120 Workqueue: nvme-delete-wq nvme_delete_ctrl_work [nvme_core] RIP: 0010:check_flush_dependency+0x10a/0x120[ 453.262125] Call Trace: __flush_work.isra.0+0xbf/0x220 ? __queue_work+0x1dc/0x420 flush_all_cpus_locked+0xfb/0x120 __kmem_cache_shutdown+0x2b/0x320 kmem_cache_destroy+0x49/0x100 bioset_exit+0x143/0x190 blk_release_queue+0xb9/0x100 kobject_cleanup+0x37/0x130 nvme_fc_ctrl_free+0xc6/0x150 [nvme_fc] nvme_free_ctrl+0x1ac/0x2b0 [nvme_core]
Fix this bug by creating a workqueue for the flush operation with the WQ_MEM_RECLAIM bit set.
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.15.73-48.135Upgrade kernel-tools-debuginfoUpgrade kernel-headersUpgrade perfUpgrade kernel-develUpgrade python-perfUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernelUpgrade kernel-tools-develUpgrade kernel-tools | Jun 11, 2024 | Apr 28, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | Apr 28, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Apr 28, 2024 |
| Suse | — | Upgrade kernel-default-vdsoUpgrade gfs2-kmp-rtUpgrade gfs2-kmp-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-develUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-azureUpgrade kernel-rt-develUpgrade kernel-obs-qaUpgrade kernel-default-baseUpgrade dtb-amdUpgrade dtb-hisiliconUpgrade reiserfs-kmp-defaultUpgrade kernel-symsUpgrade dtb-exynosUpgrade dtb-allwinnerUpgrade kernel-64kb-optionalUpgrade kernel-default-optionalUpgrade dtb-renesasUpgrade cluster-md-kmp-rtUpgrade kernel-sourceUpgrade kernel-64kb-develUpgrade kselftests-kmp-64kbUpgrade reiserfs-kmp-azureUpgrade kselftests-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade dtb-caviumUpgrade dtb-mediatekUpgrade cluster-md-kmp-azureUpgrade kernel-rt-livepatchUpgrade kernel-zfcpdumpUpgrade gfs2-kmp-64kbUpgrade kernel-devel-rtUpgrade ocfs2-kmp-rtUpgrade kernel-debug-develUpgrade dtb-apmUpgrade kernel-docsUpgrade kernel-default-extraUpgrade kernel-kvmsmall-develUpgrade dtb-armUpgrade dtb-xilinxUpgrade kernel-debugUpgrade ocfs2-kmp-defaultUpgrade kernel-64kbUpgrade kernel-rt-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-default-develUpgrade dtb-lgUpgrade kernel-syms-azureUpgrade kernel-defaultUpgrade kernel-debug-vdsoUpgrade kernel-rt_debugUpgrade dtb-appleUpgrade kernel-azure-vdsoUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade cluster-md-kmp-defaultUpgrade kernel-azureUpgrade kernel-syms-rtUpgrade dlm-kmp-rtUpgrade kernel-source-azureUpgrade dtb-amlogicUpgrade kernel-rt_debug-vdsoUpgrade dtb-qcomUpgrade kernel-rt-extraUpgrade kernel-rtUpgrade kernel-default-livepatchUpgrade kernel-azure-optionalUpgrade dtb-rockchipUpgrade dtb-freescaleUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-rtUpgrade kselftests-kmp-azureUpgrade dtb-marvellUpgrade reiserfs-kmp-rtUpgrade kernel-obs-buildUpgrade kernel-devel-azureUpgrade kernel-debug-livepatch-develUpgrade cluster-md-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-rt-livepatch-develUpgrade gfs2-kmp-defaultUpgrade dlm-kmp-64kbUpgrade dtb-nvidiaUpgrade kernel-macrosUpgrade kernel-default-base-rebuildUpgrade reiserfs-kmp-64kbUpgrade dlm-kmp-defaultUpgrade dtb-alteraUpgrade dtb-sprdUpgrade kernel-rt-optionalUpgrade kernel-64kb-extraUpgrade kernel-azure-extraUpgrade dtb-amazonUpgrade dtb-socionextUpgrade kernel-kvmsmall-vdsoUpgrade kernel-docs-htmlUpgrade kernel-source-rtUpgrade kernel-kvmsmallUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-broadcom | Aug 9, 2024 | Apr 28, 2024 |
| Ubuntu | — | Upgrade linux-oracleUpgrade linux-gkeopUpgrade linux-gkeUpgrade linux-kvmUpgrade linux-nvidiaUpgrade linux-lowlatencyUpgrade linux-azure-5.15Upgrade linux-oracle-5.15Upgrade linux-riscv-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-aws-5.15Upgrade linux-azure-fde-5.15Upgrade linux-gcpUpgrade linux-gcp-5.15Upgrade linux-intel-iotgUpgrade linux-intel-iotg-5.15Upgrade linux-raspiUpgrade linux-ibmUpgrade linux-hwe-5.15Upgrade linux-azureUpgrade linux-azure-fdeUpgrade linux-gkeop-5.15Upgrade linuxUpgrade linux-awsUpgrade linux-realtime | Nov 19, 2024 | Apr 28, 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