table of contents
| PR_SET_SPECULATION_CTRL(2const) | PR_SET_SPECULATION_CTRL(2const) |
الاسم¶
PR_SET_SPECULATION_CTRL - تعيين حالة ميزة التخمين الخاطئة للخيط المستدعي
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <linux/prctl.h> /* تعريف ثوابت PR_* */ #include <sys/prctl.h>
int prctl(PR_SET_SPECULATION_CTRL, long misfeature, long val, 0L, 0L);
الوصف¶
يضبط حالة ميزة التخمين الخاطئة المحددة في misfeature. إعدادات ميزة التخمين الخاطئة هي سمات لكل خيط.
حاليًا، misfeature يجب أن يكون أحد:
- PR_SPEC_STORE_BYPASS
- ضبط حالة ميزة تجاوز التخزين التخميني الخاطئة.
- PR_SPEC_INDIRECT_BRANCH (منذ لينكس 4.20)
- ضبط حالة ميزة تخمين الفرع غير المباشر الخاطئة.
الوسيطة val تُستخدم لتقديم قيمة التحكم، وهي إحدى التالية:
- PR_SPEC_ENABLE
- ميزة التكهن (speculation) مفعلة، وإجراءات التخفيف معطلة.
- PR_SPEC_DISABLE
- ميزة التكهن (speculation) معطلة، وإجراءات التخفيف مفعلة.
- PR_SPEC_FORCE_DISABLE
- مثل PR_SPEC_DISABLE، لكن لا يمكن التراجع عنها.
- PR_SPEC_DISABLE_NOEXEC (منذ لينكس 5.1)
- مثل PR_SPEC_DISABLE، لكن الحالة ستُمسح عند execve(2). حالياً مدعوم فقط لـ PR_SPEC_STORE_BYPASS.
يمكن أيضًا التحكم في ميزة التخمين بواسطة معامل الإقلاع spec_store_bypass_disable. قد يفرض هذا المعامل سياسة للقراءة فقط تؤدي إلى فشل استدعاء prctl() مع الخطأ ENXIO. لمزيد من التفاصيل، انظر ملف مصدر النواة Documentation/admin-guide/kernel-parameters.rst.
قيمة الإرجاع¶
عند النجاح، يُعاد الرقم 0. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.
الأخطاء¶
- ENODEV
- النواة أو وحدة المعالجة المركزية لا تدعم ميزة التخمين الخاطئة المطلوبة.
- ENXIO
- التحكم في ميزة التخمين الخاطئة المحددة غير ممكن. انظر PR_GET_SPECULATION_CTRL لحقول البت لتحديد أي خيار متاح.
- EPERM
- تم تعطيل التخمين باستخدام PR_SPEC_FORCE_DISABLE وحاول المستدعي تمكينه مرة أخرى.
- ERANGE
- misfeature ليست قيمة صالحة.
المعايير¶
لينكس.
التاريخ¶
لينكس 4.17.
انظر أيضًا¶
prctl(2), PR_GET_SPECULATION_CTRL(2const)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس (لم تصدر بعد) |