CVE-2026-93232 in Linux
الملخص
بحسب VulDB • 24/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
mm/hugetlb: تصحيح تعطل الإقلاع (boot panic) مع تهيئة ذاكرة HVO عند تفعيل CONFIG_DEBUG_VM
تُعد سلسلة التصحيحات هذه "mm: إعادة هيكلة تخصيص صفحات العملاقة في bootmem" الإصدار v4.
تم فصل هذه السلسلة عن السلسلة الأكبر السابقة "mm: تعميم HVO لـ HugeTLB و DAX للجهاز" [1]. وهي تجمع أول 19 تصحيحاً من تلك السلسلة كمجموعة مستقلة من الإصلاحات والتحضيرات التنظيفية المتعلقة بمعالجة bootmem الخاصة بـ HugeTLB، وترتيب التهيئة المتفرقة (sparse initialization)، وإعداد vmemmap ذي الصلة.
تقوم التصحيحات الأولى بإصلاح بعض الأخطاء التي وُجدت أثناء مراجعة الكود الحالي، بما في ذلك معالجة خاطئة لـ HVO في bootmem، وحجج تسجيل vmemmap غير صحيحة، وخطأ في تتبع compound-vmemmap على منصة powerpc، وتهيئة متأخرة جداً لهياكل الصفحات العملاقة (HugeTLB struct pages) الخاصة بـ bootmem.
تقوم بقية السلسلة بإعادة ترتيب تهيئة الذاكرة المبكرة بحيث تكون حالة المنطقة ذات الصلة متاحة قبل تشغيل الإعداد الخاص بالتهيئة المتفرقة و HugeTLB أثناء الإقلاع، ثم تُبسط مسار تخصيص صفحات العملاقة في bootmem وتزيل الكود الذي أصبح غير ضروري نتيجة إعادة العمل هذه.
على مستوى عالٍ: - التصحيحات [1-4] تصلح أخطاء خاصة بوقت الإقلاع ومحددة للعمارة (arch-specific)
- التصحيحات [5-12] تعيد ترتيب وتبسيط التهيئة المبكرة لـ sparse/mm/hugetlb
- التصحيحات [13-19] تعيد هيكلة تخصيص صفحات العملاقة في bootmem وتزيل المساعدين والحالة العتيقة
هذا التصحيح (من أصل 19):
أدى الالتزام Commit 622026e87c40 ("mm/hugetlb: إزالة الصفحات الرأسية الوهمية") إلى تحويل HVO لإعادة استخدام ذيول مشتركة خاصة بكل منطقة من zone->vmemmap_tails[].
تم تهيئة تلك الذيل المشتركة في hugetlb_vmemmap_init()، لكن folios الخاصة بـ HugeTLB في bootmem تُجهز مبكراً أكثر من خلال gather_bootmem_prealloc(). مع تفعيل خيار hugetlb_free_vmemmap=on، يمكن لـ prep_and_add_bootmem_folios() الوصول إلى أعلام pageblock على صفحات HugeTLB في bootmem التي تشير ذيلها المعاكس (mirrored tail struct pages) بالفعل إلى صفحة الذيل المشتركة. وعلى kernels المفعلة فيها CONFIG_DEBUG_VM، تقوم get_pfnblock_bitmap_bitidx() بعد ذلك بإحالة مرجعية (dereference) لصفحة الذيل المشتركة غير المُهيأة بالكامل مما قد يتسبب في تعطل الإقلاع (panic).
قم بتهيئة zone->vmemmap_tails[] من خلال gather_bootmem_prealloc()، قبل معالجة folios الخاصة بـ HugeTLB في bootmem، وأزل التهيئة اللاحقة من hugetlb_vmemmap_init().
لا يؤثر هذا الخطأ إلا على kernels المفعلة فيها CONFIG_DEBUG_VM، حيث يتم تقييم المطالبة (assertion) ذات الصلة.
If you want to get best quality of vulnerability data, you may have to visit VulDB.