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