DennisM
Moderator u. Newsposter
http://www.unixboard.de/gallery/albums/userpics/12572/puffy.png
Theo de Raadt äußerte sich heute mit einer Mail über ein neues überarbeitetes Speichermanagment, welches in OpenBSD 3.8 einfließen soll.
ProLinux Zitat:
Zu den grundlegenden Neuerungen zählt er eine überarbeitete mmap-Funktion, die Objekte und Gerätedateien (Devices) in den Speicher mappt. Ein Systemaufruf der veränderten Funktion liefert nun anders als bisher eine zufällige Speicheradresse zurück. Dabei wurde Wert darauf gelegt, dass mmap z.B. zwei Objekte nicht in nahe beieinander liegenden Speichersegmenten mappt. Im Endeffekt schafft dies nicht-allozierte Speicherbereiche, die de Raadt als "guard pages" bezeichnet. Als Hintergrund für diese Änderungen beschreibt de Raadt die jahrelangen, vergeblichen Bemühungen so genannte Bufferoverflow-Lücken zu finden und zu schließen. Als Beispiel für diese Beobachtung führt er kürzlich gefundene Fehler in Programmen an, die vor dem Start versuchen, auf temporären Speicher außerhalb definierter Speichergrenzen zuzugreifen. Mit den angekündigten Neuerungen werden sich solche Programme zukünftig mit einem SIGSEGV-Signal beenden. Ein Update erfährt auch die malloc-Funktion, die über mmap für die Anforderung und Freigabe von Speicherbereichen zuständig ist. De Raadt erhofft sich, mit der neuen Version von malloc schlecht programmierte Software aufspüren zu können: "Wir erwarten, dass malloc weitere Bugs in Software finden wird, dies könnte unserer Nutzergemeinde für einen kurzen Zeitraum missfallen." In seinen weiteren Ausführungen macht er deutlich, dass diese Unannehmlichkeiten nicht primär mit den Änderungen des Speichermanagements zu tun haben. Vielmehr hält er dies für eine Konsequenz nachlässig programmierter Open-Source-Software, die immer wieder zu finden sei. Überarbeitet wurde außerdem auch die free-Funktion, die nun von Prozessen freigegebenen Speicher sofort an den Kernel zurück gibt. Weitere zusätzliche Neuerungen deutet er nur an, sie sind allerdings nicht standardmäßig aktiviert, da diese für "normale Software" zu gefährlich oder mit deutlichen Performance-Einbußen verbunden seien.
Links:
- Kerneltrap: http://kerneltrap.org/node/5584
- ProLinux Meldung: http://www.pro-linux.de/news/2005/8561.html
Quelle: Kerneltrap, ProLinux
Theo de Raadt äußerte sich heute mit einer Mail über ein neues überarbeitetes Speichermanagment, welches in OpenBSD 3.8 einfließen soll.
ProLinux Zitat:
Zu den grundlegenden Neuerungen zählt er eine überarbeitete mmap-Funktion, die Objekte und Gerätedateien (Devices) in den Speicher mappt. Ein Systemaufruf der veränderten Funktion liefert nun anders als bisher eine zufällige Speicheradresse zurück. Dabei wurde Wert darauf gelegt, dass mmap z.B. zwei Objekte nicht in nahe beieinander liegenden Speichersegmenten mappt. Im Endeffekt schafft dies nicht-allozierte Speicherbereiche, die de Raadt als "guard pages" bezeichnet. Als Hintergrund für diese Änderungen beschreibt de Raadt die jahrelangen, vergeblichen Bemühungen so genannte Bufferoverflow-Lücken zu finden und zu schließen. Als Beispiel für diese Beobachtung führt er kürzlich gefundene Fehler in Programmen an, die vor dem Start versuchen, auf temporären Speicher außerhalb definierter Speichergrenzen zuzugreifen. Mit den angekündigten Neuerungen werden sich solche Programme zukünftig mit einem SIGSEGV-Signal beenden. Ein Update erfährt auch die malloc-Funktion, die über mmap für die Anforderung und Freigabe von Speicherbereichen zuständig ist. De Raadt erhofft sich, mit der neuen Version von malloc schlecht programmierte Software aufspüren zu können: "Wir erwarten, dass malloc weitere Bugs in Software finden wird, dies könnte unserer Nutzergemeinde für einen kurzen Zeitraum missfallen." In seinen weiteren Ausführungen macht er deutlich, dass diese Unannehmlichkeiten nicht primär mit den Änderungen des Speichermanagements zu tun haben. Vielmehr hält er dies für eine Konsequenz nachlässig programmierter Open-Source-Software, die immer wieder zu finden sei. Überarbeitet wurde außerdem auch die free-Funktion, die nun von Prozessen freigegebenen Speicher sofort an den Kernel zurück gibt. Weitere zusätzliche Neuerungen deutet er nur an, sie sind allerdings nicht standardmäßig aktiviert, da diese für "normale Software" zu gefährlich oder mit deutlichen Performance-Einbußen verbunden seien.
Links:
- Kerneltrap: http://kerneltrap.org/node/5584
- ProLinux Meldung: http://www.pro-linux.de/news/2005/8561.html
Quelle: Kerneltrap, ProLinux
Zuletzt bearbeitet von einem Moderator: