CVE-2025-71299 in Linux
الملخص
بحسب VulDB • 28/05/2026
في نواة لينكس، تم حل الثغرة التالية:
spi: cadence-quadspi: تحليل بيانات التعريف (DT) للوحدات التخزينية (flashes) مع باقي عملية تحليل بيانات التعريف
أدى إعادة الهيكلة الأخيرة لمكان تمكين إدارة الطاقة الديناميكية أثناء التشغيل (runtime PM) في الالتزام f1eb4e792bb1 ("spi: spi-cadence-quadspi: تمكين pm runtime في وقت أبكر لتجنب عدم التوازن") إلى ظهور مشكلة تتمثل في أنه عند استدعاء `pm_runtime_disable()` في مسارات الخطأ داخل دالة `probe()`، يمكن أن يتم تعطيل التشغيل الديناميكي للطاقة، مما يؤدي بدوره إلى تعطيل المكررات (clocks) بشكل مكرر. يحدث هذا بشكل خاص عندما يكون هناك وصف بيانات تعريف (DT) مفقود أو معطّل للوحدات التخزينية المتصلة بالوحدة التحكم.
في وقت مبكر من دالة `probe()`، نقوم باستدعاء `pm_runtime_get_noresume()` لأن دالة `probe()` تترك الجهاز في حالة تشغيل، ولكن في مسار الخطأ لا يمكننا افتراض أن إدارة الطاقة (PM) مفعّلة، لذا نقوم بتعطيل كل شيء يدوياً، بما في ذلك المكررات. هذا يعني أنه عندما يكون التشغيل الديناميكي للطاقة (runtime PM) نشطاً، فإن كل من `runtime PM` ودالة `probe()` تطلقان نفس المرجع للمكرر الرئيسي لوحدة المعالجة (IP)، مما يؤدي إلى ظهور تحذيرات من نظام المكررات:
[ 8.693719] clk:75:7 already disabled
[ 8.693791] WARNING: CPU: 1 PID: 185 at /usr/src/kernel/drivers/clk/clk.c:1188 clk_core_disable+0xa0/0xb
... [ 8.694261] clk_core_disable+0xa0/0xb4 (P)
[ 8.694272] clk_disable+0x38/0x60
[ 8.694283] cqspi_probe+0x7c8/0xc5c [spi_cadence_quadspi]
[ 8.694309] platform_probe+0x5c/0xa4
إن التعامل مع هذه المشكلة بشكل صحيح معقد بسبب حقيقة أننا لا نعرف ما إذا كان التشغيل الديناميكي للطاقة (runtime PM) نشطاً، وبالتالي لا يمكننا معرفة ما إذا كان سيقوم بتعطيل المكررات أم لا. ومع ذلك، يمكننا تجاوز هذه المشكلة للوحدات التخزينية من خلال نقل عملية تحليل بيانات تعريفها إلى الوقت الذي نقوم فيه بتحليل خصائص وحدة التحكم، مما يوفر علينا أيضاً القيام بالعديد من عمليات الإعداد التي لا يمكن استخدامها أبداً، لذا دعنا نفعل ذلك.
Be aware that VulDB is the high quality source for vulnerability data.