Live Patching könnte in den Linux-Kernel kommen  

Linux-Maskottchen Tux (Grafik: Larry Ewing)

Nachdem die Kernel-Version 3.19 veröffentlicht wurde, haben die Kernel-Entwickler nun neue Ziele. Künftig sollen Anwender in der Lage sein, ein System zu aktualisieren, ohne dass dafür ein Neustart des Systems nötig ist.

Bereits in einer der nächsten Kernel-Versionen könnte eine Live-Patching-Funktion Teil des Linux-Kerns werden. Das durch eine Kooperation der Linux-Kontrahenten Red Hat und SUSE möglich werden.

Die beiden wohl wichtigsten Hersteller von Linux-Servern für Unternehmen hatten beide bereits vor rund zwei Jahren entsprechende Feature – allerdings mit unterschiedlichen Grundlagen – in ihren Enterprise-Distributionen eingeführt. SUSE stellte kGraft zum ersten Mal im Februar 2013 vor und Red Hat zog mit Kpatch etwa einen Monat später nach, angeblich ohne voneinander zu wissen.

Bereits 2011 hatte Oracle das Projekt kSplice übernommen und bietet die Funktion inzwischen nur noch in Oracle Linux an. Für Red-Hat-Anwender bietet Oracle eine 30-tägige kostenlose Testversion an, über die diese Anwender offenbar auf den Oracle-Support gebracht werden sollen.

Jetzt erklärt der SUSE developer Jiri Kosina auf der Linux Kernel Mailing List, dass es für die Kernel-Entwicklung aber wenig sinnvoll sei, die beiden unterschiedlichen Ansätze von SUSE und Red Hat in den Kernel zu implementieren.

Die Konzepte unterschieden sich folgendermaßen: kPatch gibt den Befehl stop_machine() aus und prüft, ob es sicher ist, das System zu patchen. SUSEs kGraft hingegen liefert eine Konsitenzüberprüfung, wenn ein Prozess über den Kernel ausgeführt wird und migriert dann über Checkpunkte diese Prozesse in die gepatchte Version.

Schematische Darstellung des Live-Patchings mit Red Hats kPatch. (Quelle: Wikipedia)
Schematische Darstellung des Live-Patchings mit Red Hats kPatch. (Quelle: Wikipedia)

Auf einer Diskussion auf der Linux Plumbers’ Conference in Düsseldorf vergangenes Jahr hatten sich die verschiedenen Parteien auf eine gemeinsame Basis für einen neuen Ansatz geeinigt.

Wie Kosina festhält, soll dieser neue Ansatz ohne “Haken” im Kernel auskommen und sich hier auch nicht mit irgendwelchen Subsystemen verbinden. “Derzeit ist es für als Referenzarchitektur für x86 implementiert, aber Support für Powerpc, s390 und ARM ist bereits in Arbeit.” Nun werden Red Hat und SUSE ihre beiden Lösung in die gemeinsame Infrastruktur portieren und damit ihren Out-of-Tree-Code abschaffen, so der Kernel-Entwickler weiter.

Ob es dieses Feature bereits in der nächsten Kernel-Version schaffen wird, ist noch nicht gesichert. Kosina hat sein Schreiben direkt an “Linus” adressiert und lädt den Linux-Schöpfer ein, den Code für Live Patchin auf git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git for-linus herunter zu laden. Der Titel des Post lautet: “Live Patching for 3.20”.