PR_SET_MM_EXE_FILE(2const)

الاسم
PR_SET_MM_EXE_FILE - تعديل حقول واصف خريطة الذاكرة للنواة

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

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

int prctl(PR_SET_MM, PR_SET_MM_EXE_FILE, long fd, 0L, 0L);

الوصف
استبدال الرابط الرمزي /proc/pid/exe برابط جديد يشير إلى ملف تنفيذي جديد يُحدد بواسطة واصف الملف المقدم في الوسيط fd. يجب الحصول على واصف الملف باستدعاء open(2) عادي.

لتغيير الرابط الرمزي، يجب إلغاء تعيين جميع مناطق الذاكرة القابلة للتنفيذ الموجودة، بما في ذلك تلك التي أنشأتها النواة نفسها (على سبيل المثال، تنشئ النواة عادةً منطقة ذاكرة قابلة للتنفيذ واحدة على الأقل لقسم ELF .text).

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

الأخطاء

EACCES
    الملف غير قابل للتنفيذ.

EBADF
    واصف الملف الممرر في fd غير صالح.

EBUSY
    هذه هي المحاولة الثانية لتغيير الرابط الرمزي /proc/pid/exe.

الملفات

/proc/pid/exe

المعايير
لينكس.

التاريخ
لينكس 3.5.

في لينكس 4.9 والإصدارات الأقدم، يمكن تنفيذ عملية PR_SET_MM_EXE_FILE مرة واحدة فقط في عمر العملية؛ تؤدي محاولة تنفيذ العملية مرة ثانية إلى الخطأ EPERM. تم فرض هذا التقييد لأسباب أمنية اعتُبرت لاحقًا واهية، وتمت إزالة التقييد في لينكس 4.10 لأن بعض تطبيقات مساحة المستخدم احتاجت إلى تنفيذ هذه العملية أكثر من مرة.

انظر أيضًا
prctl(2), PR_SET_MM(2const), proc_pid_exe(5)

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

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

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