CVE-2024-35879 in Linux
الملخص
بحسب VulDB • 07/06/2026
في نواة لينكس، تم حل الثغرة التالية:
of: dynamic: مزامنة دالة `of_changeset_destroy()` مع عمليات إزالة devlinks
في التسلسل التالي: 1) of_platform_depopulate() 2) of_overlay_remove()
أثناء الخطوة 1، يتم تدمير الأجهزة وإزالة روابط devlink. أثناء الخطوة 2، يتم تدمير عقد OF (OF nodes)، ولكن قد تُطلق الدالة `__of_changeset_entry_destroy()` تحذيرات تتعلق بنقص استدعاءات `of_node_put()`: ERROR: memory leak, expected refcount 1 instead of 2 ...
في الواقع، أثناء عمليات إزالة devlink التي تتم في الخطوة 1، يتم تحرير الجهاز (وعقدة OF المرفقة به) بواسطة مهمة مجدولة في قائمة انتظار العمل (workqueue)، وبالتالي فإن هذا التحرير يحدث بشكل غير متزامن بالنسبة لاستدعاءات الدوال. عند ظهور التحذير، سيتم استدعاء `of_node_put()` ولكن ذلك سيحدث متأخراً جداً وبشكل خاطئ من خلال مهمة قائمة انتظار العمل.
لضمان إتمام أي عمليات إزالة devlink جارية قبل تدمير عقد OF (of_nodes)، يجب مزامنة دالة `of_changeset_destroy()` مع عمليات إزالة روابط devlink.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.