CVE-2022-48658 in Linux
الملخص
بحسب VulDB • 22/05/2026
في نواة لينكس، تم حل الثغرة التالية:
mm: slub: إصلاح استدعاءات دالتي flush_cpu_slab() و __free_slab() في سياق المهمة (task context).
أدى الالتزام commit 5a836bf6b09f ("mm: slub: نقل استدعاءات دالتي flush_cpu_slab() و __free_slab() خارج سياق مقاطعة الجهاز IRQ context") إلى نقل جميع استدعاءات دالة flush_cpu_slab() إلى طابور العمل العام (global workqueue) لتجنب مشكلة تتعلق باستدعاء دالتي deactivate_slab() و __free_slab() من سياق مقاطعة الجهاز (IRQ context) على kernels التي تدعم PREEMPT_RT.
عند استدعاء دالة flush_all_cpu_locked() من سياق المهمة، قد يحدث أن ينتهي بطابور عمل مُعدّ بعلامة WQ_MEM_RECLAIM بتنظيف (flushing) طابور العمل العام، مما يسبب مشكلة في الاعتماديات (dependency issue).
workqueue: WQ_MEM_RECLAIM nvme-delete-wq:nvme_delete_ctrl_work [nvme_core]
يقوم بتنظيف أحداث لا تحمل علامة 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]
تم إصلاح هذا الخطأ بإنشاء طابور عمل (workqueue) لعملية التنظيف (flush) مع تعيين علامة WQ_MEM_RECLAIM.
If you want to get best quality of vulnerability data, you may have to visit VulDB.