CVE-2023-54159 in Linux
الملخص
بحسب VulDB • 04/06/2026
في نواة لينكس، تم حل الثغرة التالية:
usb: mtu3: إصلاح حدوث توقف كامل للنظام (kernel panic) في معالج مقاطعة (irq handler) عند اكتمال نقل qmu.
عند معالجة مقاطعة نقل qmu، يتم فك قفل @mtu->lock قبل إعادة الطلب (give back request). إذا قام خيط آخر بمعالجة حدث فصل الاتصال (disconnect event) في نفس الوقت وحاول تعطيل نقطة النهاية (ep)، فقد يقوم بقفل @mtu->lock وتحرير حلقة qmu (qmu ring). نتيجة لذلك، قد يحصل معالج مقاطعة qmu على مؤشر gpd فارغ (NULL). لتجنب حدوث توقف كامل للنظام (KE)، يتم التحقق من قيمة gpd قبل معالجتها.
مثال: مقاطعة اكتمال qmu على المعالج 0 خيط يعمل على المعالج 1
qmu_done_tx() معالجة gpd [0]
mtu3_requ_complete() mtu3_gadget_ep_disable() فك قفل @mtu->lock إعادة الطلب قفل @mtu->lock mtu3_ep_disable() mtu3_gpd_ring_free() فك قفل @mtu->lock قفل @mtu->lock الحصول على gpd التالي [1]
[1]: الانتقال إلى [0] لمعالجة gpd التالي، وقد يكون gpd التالي فارغاً (NULL).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.