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