Unter Berufung auf die Kernel-Quelle:„Kernel-Zeiger haben redundante Informationen, daher können wir ein Schema verwenden, bei dem wir entweder einen Fehlercode oder einen [...] Zeiger mit demselben Rückgabewert zurückgeben können. ”
Die Werte -1..-4095 (Zuordnung zu 0xfffff000–0xffffffff im 32-Bit-Modus) sind für Kernel-Level-Errno-Werte reserviert. Die anderen 4KB von 0xffffe000–0xffffefff werden für die magische Seite vsyscall vdso freigehalten, aber da die vdso-Seite seit vielen Monden verschiebbar ist, bleibt dieser Bereich potenziell unbevölkert, nämlich der [stack]
Eintrag in /proc/*/maps
endet immer bei 0xffffdfff, unabhängig davon, ob [vdso] bei 0xffffe000 oder anderswo abgebildet wird.
Ein Teil des Kernelspeichers kann sich innerhalb des Adressraums des Anwendungsbenutzerbereichs befinden und mit PROT_NONE
sozusagen mmaped werden . Ein Teil des Adressraums würde dann verwendet werden, ohne dass das Programm darauf zugreifen kann (daher ist keine Beschädigung möglich).