PR_MPX_ENABLE_MANAGEMENT(2const)

الاسم
PR_MPX_ENABLE_MANAGEMENT, PR_MPX_DISABLE_MANAGEMENT - مكن أو عطل إدارة النواة لملحقات حماية الذاكرة (MPX)

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <linux/prctl.h>  /* تعريف ثوابت PR_* */
#include <sys/prctl.h>

[[مهجور]] int prctl(PR_MPX_ENABLE_MANAGEMENT, 0L, 0L, 0L, 0L);
[[مهجور]] int prctl(PR_MPX_DISABLE_MANAGEMENT, 0L, 0L, 0L, 0L);

الوصف
تفعيل أو تعطيل إدارة النواة لجداول حدود ملحقات حماية الذاكرة (MPX).

MPX هي آلية مدعومة عتادياً لإجراء فحص الحدود على المؤشرات. تتكون من مجموعة من السجلات التي تخزن معلومات الحدود ومجموعة من بادئات التعليمات الخاصة التي تخبر وحدة المعالجة المركزية بالتعليمات التي يجب عليها تنفيذ فرض الحدود عليها. يوجد عدد محدود من هذه السجلات وعندما يكون عدد المؤشرات أكثر من السجلات، يجب "سكب" محتوياتها في مجموعة من الجداول. تسمى هذه الجداول "جداول الحدود" وتتحكم عمليات prctl() الخاصة بـ MPX فيما إذا كانت النواة تدير تخصيصها وتحريرها.

عند تفعيل الإدارة، ستتولى النواة عملية تخصيص وتحرير جداول الحدود. تقوم بذلك عبر اعتراض استثناءات #BR التي تنتج عند أول استخدام لجداول حدود مفقودة، وبدلاً من إيصال الاستثناء إلى مساحة المستخدم، فإنها تخصص الجدول وتملأ مجلد الحدود بموقع الجدول الجديد. وللتحرير، تتحقق النواة لمعرفة ما إذا كانت جداول الحدود موجودة لذاكرة غير مخصصة، وتحررها إذا كانت كذلك.

قبل تمكين إدارة MPX باستخدام PR_MPX_ENABLE_MANAGEMENT، يجب على التطبيق أولاً تخصيص خبيئة مساحة مستخدم لدليل الحدود ووضع موقع ذلك الدليل في مسجل bndcfgu.

تفشل هذه الاستدعاءات إذا كان المعالج أو النواة لا يدعمان MPX. دُعم النواة لـ MPX عبر خيار الضبط CONFIG_X86_INTEL_MPX. يمكنك التحقق مما إذا كان المعالج يدعم MPX بالبحث عن بت CPUID لـ mpx، كما في الأمر التالي:

    cat /proc/cpuinfo | grep ' mpx '

لا يجوز للخيط التبديل من أو إلى الوضع الطويل (64 بت) أثناء تمكين MPX.

تتأثر جميع الخيوط (threads) في العملية بهذه الاستدعاءات.

يرث ابن fork(2) حالة إدارة MPX. أثناء execve(2)، تُصفر إدارة MPX إلى حالة كما لو كان قد استُدعي PR_MPX_DISABLE_MANAGEMENT.

قيمة الإرجاع
عند النجاح، يُعاد الرقم 0. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

ENXIO
    النواة أو وحدة المعالجة المركزية لا تدعم إدارة MPX. تحقق من أن النواة والمعالج يدعمان MPX.

المعايير
لا يوجد.

التاريخ
لينكس 3.19. أزيل في لينكس 5.4. على x86 فقط.

بسبب نقص دعم سلسلة الأدوات، PR_MPX_ENABLE_MANAGEMENT و PR_MPX_DISABLE_MANAGEMENT غير مدعومين في لينكس 5.4 وما يليه.

انظر أيضًا
prctl(2)

لمزيد من المعلومات حول Intel MPX، راجع ملف مصدر النواة Documentation/x86/intel_mpx.rst.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.