CVE-2022-48658 in Linux
Riassunto
di VulDB • 14/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
mm: slub: correggere le invocazioni di flush_cpu_slab()/__free_slab() nel contesto del task.
Il commit 5a836bf6b09f ("mm: slub: spostare le invocazioni di flush_cpu_slab() e __free_slab() fuori dal contesto IRQ") ha spostato tutte le invocazioni di flush_cpu_slab() sul workqueue globale per evitare un problema relativo al fatto che deactivate_slab()/__free_slab() venivano chiamate da un contesto IRQ sui kernel PREEMPT_RT.
Quando la funzione flush_all_cpu_locked() viene chiamata nel contesto di un task, può accadere che un workqueue con il bit WQ_MEM_RECLAIM impostato finisca per svuotare (flush) il workqueue globale; ciò provocherà un problema di dipendenza.
workqueue: WQ_MEM_RECLAIM nvme-delete-wq:nvme_delete_ctrl_work [nvme_core]
sta svuotando eventi !WQ_MEM_RECLAIM: 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]
Risolvere questo bug creando un workqueue per l'operazione di flush con il bit WQ_MEM_RECLAIM impostato.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.