PR_MPX_ENABLE_MANAGEMENT(2const) PR_MPX_ENABLE_MANAGEMENT(2const) BEZEICHNUNG PR_MPX_ENABLE_MANAGEMENT, PR_MPX_DISABLE_MANAGEMENT - Kernelverwaltung der Speicherschutzerweiterungen (MPX) (de)aktivieren BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include /* Definition der PR_*-Konstanten */ #include [[veraltet]] int prctl(PR_MPX_ENABLE_MANAGEMENT, 0L, 0L, 0L, 0L); [[veraltet]] int prctl(PR_MPX_DISABLE_MANAGEMENT, 0L, 0L, 0L, 0L); BESCHREIBUNG Aktiviert oder deaktiviert die Kernelverwaltung der Begrenzungstabellen der Speicherschutzerweiterungen (MPX). MPX ist ein Hardware-unterstutzter Mechanismus zur Durchfuhrung von Begrenzungsuberprufungen fur Zeiger. Er besteht aus einer Reihe von Registern, die Begrenzungsinformationen speichern und einer Reihe von besonderen Anweisungs-Prafixen, die der CPU mitteilen, bei welchen Anweisungen sie die Begrenzungen durchsetzen soll. Es gibt eine begrenzte Anzahl dieser Register und wenn es mehr Zeiger als Register gibt, muss ihr Inhalt auf eine Reihe von Tabellen >>verteilt<< werden. Diese Tabellen werden >>Begrenzungstabellen<< genannt und die Aktion MPX prctl() steuert, ob der Kernel ihre Reservierung und Freigabe verwaltet. Wenn die Verwaltung aktiviert ist, wird der Kernel die Reservierung und Freigabe der Begrenzungstabellen ubernehmen. Dies erfolgt, indem die #BR-Ausnahmen abgefangen werden, die beim erstmaligen Verfehlen der Begrenzungstabellen auftreten. Anstatt die Ausnahme an den Anwendungsraum auszuliefern, wird die Tabelle reserviert und das Begrenzungsverzeichnis mit den Orten der neuen Tabelle befullt. Fur die Freigabe pruft der Kernel, ob die Begrenzungstabellen fur Speicher vorhanden sind, der nicht reserviert ist, und gibt diesen dann frei. Vor der Aktivierung der MPX-Verwaltung mittels PR_MPX_ENABLE_MANAGEMENT muss die Anwendung zuerst einen Puffer im Anwendungsraum fur das Begrenzungsverzeichnis reserviert und den Ort dieses Verzeichnisses in dem Register bndcfgu abgelegt haben. Diese Aufrufe schlagen fehl, falls die CPU oder der Kernel kein MPX unterstutzt. Die Kernelunterstutzung fur MPX wird mittels der Konfigurationsoption CONFIG_X86_INTEL_MPX aktiviert. Durch den folgenden Befehl konnen Sie prufen, ob die CPU MPX unterstutzt, indem Sie nach dem CPUID-Bit mpx schauen: cat /proc/cpuinfo | grep ' mpx ' Ein Thread darf nicht in oder aus dem Long-Modus (64-bit) schalten, wenn MPX aktiviert ist. Alle Threads in einem Prozess sind von diesen Aufrufen betroffen. Der Kindprozess eines fork(2) erbt den Zustand der MPX-Verwaltung. Wahrend execve(2) wird die MPX-Verwaltung auf einen Zustand zuruckgesetzt, als ob PR_MPX_DISABLE_MANAGEMENT aufgerufen worden ware. RUCKGABEWERT Bei Erfolg wird 0 zuruckgegeben. Bei einem Fehler wird -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER ENXIO Der Kernel oder die CPU unterstutzt die MPX-Verwaltung nicht. Prufen Sie, ob der Kernel oder der Prozessor uber MPX-Unterstutzung verfugt. STANDARDS Keine. GESCHICHTE Linux 3.19. Entfernt in Linux 5.4. Nur auf X86. Aufgrund mangelnder Unterstutzung in der Werkzeugkette werden PR_MPX_ENABLE_MANAGEMENT und PR_MPX_DISABLE_MANAGEMENT in Linux 5.4 und neuer nicht unterstutzt. SIEHE AUCH prctl(2) Weitere Informationen uber Intel MPX finden Sie in der Kernelquelldatei Documentation/x86/intel_mpx.rst. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer: . Linux man-pages 6.17 8. Februar 2026 PR_MPX_ENABLE_MANAGEMENT(2const)