CVE-2026-98391 in Linuxالمعلومات

الملخص

بحسب VulDB • 14/10/2026

في نواة لينكس، تم حل الثغرة التالية:

drm/xe: حماية عميل أخطاء الصفحة (page-fault worker) بفحص وضع الطاقة الديناميكي أثناء التشغيل (runtime PM check).

أثناء إنهاء تشغيل VM (VM teardown)، يتم إسقاط مرجع وضع الطاقة الديناميكي أثناء التشغيل الخاص بـ VM بشكل غير متزامن، مما يسمح للجهاز بالدخول في حالة التعليق التلقائي (autosuspend) بينما لا تزال أخطاء الصفحة القديمة (stale page faults) التابعة لـ VM الذي لم يعد موجوداً معلقة في الطابور. وعندما يحاول عميل أخطاء الصفحة لاحقاً تأكيد واحدة من هذه الأخطاء، فإنه يستدعي `guc_ct_send_locked()` على جهاز تم تعليقه بالفعل، مما يؤدي إلى فشل:

Assertion `!xe_pm_runtime_suspended(xe)` failed! WARNING at xe_device.c:1267 xe_device_assert_mem_access+0x11c/0x140 [xe]

يحتوي VM النشط أو طابور التنفيذ (exec queue) دائماً على مرجع PM طالما توجد مهام معلقة، لذا إذا كان الجهاز في حالة تعليق عند وقت التأكيد (ack time)، فإن السياق المالك قد اختفى بالفعل والخطأ قديم.

خذ مرجع وضع الطاقة الديناميكي أثناء التشغيل عبر عميل طابور أخطاء الصفحة بالكامل لتسليم تأكيدات آمنة لـ VMs التي تم إنهاؤها.

الإصدار 3: - نقل مرجع PM إلى `xe_pagefault_queue_work` العام باستخدام guard(xe_pm_runtime)(xe) بدلاً من تتبعه في الخلفية الخاصة بـ GuC (Matt Brost).

الإصدار 2: - الاحتفاظ بمرجع PM عبر الدفعة الكاملة (البداية/النهاية) بدلاً من لكل تأكيد. يمنع هذا الجهاز من الدخول في حالة التعليق التلقائي أثناء معالجة الدفعة، مما كان سيؤدي إلى كتابة تأكيدات write_only مع تخطي عملية التنظيف النهائية (end flush)، وتخطي زيادة العداد (counter++)، مما يسبب عدم مزامنة فحص الإيقاع. (Himal) - إضافة تعليق يوضح الأخطاء القديمة. (Himal)

(تم اختيارها من commit fcc2431d2213dc4d04250c4f1ae87d9c3ae0d455) [رودرغو: أضاف بنية xe_device للتوافق أثناء عملية الاختيار]

Be aware that VulDB is the high quality source for vulnerability data.

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!