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-livepatch-5.15.73-48.135Upgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade python-perfUpgrade kernel-headersUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-develUpgrade kernel-tools-develUpgrade bpftoolUpgrade kernelUpgrade kernel-toolsUpgrade kernel-debuginfo-common-x86_64 | 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 dtb-caviumUpgrade kernel-default-extraUpgrade dlm-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kselftests-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade dtb-renesasUpgrade kernel-symsUpgrade dtb-armUpgrade gfs2-kmp-rtUpgrade dtb-allwinnerUpgrade kernel-64kb-livepatch-develUpgrade kernel-default-livepatch-develUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-devel-rtUpgrade dtb-apmUpgrade kernel-64kbUpgrade dtb-xilinxUpgrade kernel-debugUpgrade kernel-64kb-develUpgrade kernel-rt-livepatchUpgrade kernel-default-vdsoUpgrade kernel-kvmsmall-develUpgrade ocfs2-kmp-defaultUpgrade kernel-develUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade dtb-mediatekUpgrade kernel-zfcpdumpUpgrade kernel-debug-develUpgrade kernel-64kb-optionalUpgrade kernel-docsUpgrade dtb-exynosUpgrade gfs2-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-obs-qaUpgrade dtb-amdUpgrade gfs2-kmp-64kbUpgrade kernel-default-baseUpgrade kernel-rt-develUpgrade kernel-sourceUpgrade kernel-default-optionalUpgrade kernel-rt_debug-vdsoUpgrade dtb-freescaleUpgrade cluster-md-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-obs-buildUpgrade kernel-devel-azureUpgrade kernel-debug-livepatch-develUpgrade dtb-marvellUpgrade kernel-rt-livepatch-develUpgrade kernel-64kb-extraUpgrade kernel-debug-vdsoUpgrade dlm-kmp-defaultUpgrade kernel-default-develUpgrade kselftests-kmp-rtUpgrade kernel-source-azureUpgrade dtb-qcomUpgrade dlm-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-source-rtUpgrade dtb-alteraUpgrade dtb-socionextUpgrade dtb-lgUpgrade dtb-amazonUpgrade dlm-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-docs-htmlUpgrade kernel-azureUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-optionalUpgrade kernel-kvmsmallUpgrade kernel-rt-optionalUpgrade kernel-macrosUpgrade kernel-default-base-rebuildUpgrade dtb-sprdUpgrade reiserfs-kmp-64kbUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-defaultUpgrade dtb-nvidiaUpgrade dtb-broadcomUpgrade kernel-rt_debug-develUpgrade dtb-amlogicUpgrade kernel-syms-azureUpgrade dtb-rockchipUpgrade kernel-rtUpgrade kernel-rt-vdsoUpgrade kernel-default-livepatchUpgrade kselftests-kmp-azureUpgrade kernel-rt-extraUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-extraUpgrade cluster-md-kmp-64kbUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade kernel-rt_debugUpgrade gfs2-kmp-defaultUpgrade dtb-appleUpgrade kernel-azure-vdso | Aug 9, 2024 | Apr 28, 2024 |
| Ubuntu | — | Upgrade linuxUpgrade linux-intel-iotg-5.15Upgrade linux-raspiUpgrade linux-realtimeUpgrade linux-azureUpgrade linux-azure-fdeUpgrade linux-awsUpgrade linux-hwe-5.15Upgrade linux-gkeop-5.15Upgrade linux-ibmUpgrade linux-oracleUpgrade linux-gkeopUpgrade linux-azure-5.15Upgrade linux-lowlatencyUpgrade linux-oracle-5.15Upgrade linux-kvmUpgrade linux-gcp-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-riscv-5.15Upgrade linux-gkeUpgrade linux-intel-iotgUpgrade linux-azure-fde-5.15Upgrade linux-gcpUpgrade linux-nvidiaUpgrade linux-aws-5.15 | 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