Linux-Kernel: Live-Patching-Methoden Upstream vorgestellt
Ende Januar kündigte Linux-Distributor Suse die Technik zum Kernel-Patchen Kgraft(öffnet im neuen Fenster) an, Ende Februar folgte Red Hat mit der Eigenentwicklung Kpatch(öffnet im neuen Fenster). Beide sollen Alternativen zu dem von Oracle bereitgestellten Ksplice werden und das Patchen des Linux-Kernels im laufenden Betrieb erlauben. Der Code der beiden neuen Techniken steht nun offiziell zur Diskussion(öffnet im neuen Fenster) auf der Linux-Kernel-Mailingliste bereit.
Beide Distributoren haben bereits mehrfach betont, dass die Techniken im Upstream-Kernel und damit für jeden Nutzer zur Verfügung stehen sollen, anders als dies mit Oracles Ksplice derzeit der Fall ist. Red-Hat-Entwickler Josh Poimboeuf(öffnet im neuen Fenster) erörtert sogar die Möglichkeit, Kpatch und Kgraft irgendwie zu kombinieren, falls dies nötig sei.
Einige Unterschiede
In seiner E-Mail beschreibt Poimboeuf zudem einige technische Unterschiede. Am auffälligsten ist etwa die wesentlich geringere Anzahl an Code-Zeilen von Kpatch gegenüber Kgraft, sowie die Tatsache, dass Kpatch ein komplett eigenständiges Kernel-Modul bereitstellt und dadurch anders als Kgraft keine Änderungen am Kernel selbst voraussetzt.
Der größte Unterschied der beiden Techniken ist Poimboeuf zufolge, wie gewährleistet wird, dass ein Patch sicher und atomar eingespielt wird. So überprüft Kpatch sämtliche Instanzen einer alten Funktion, ob diese noch verwendet wird, bevor die neue eingespielt wird.
Dies führt allerdings auch zu einer kleinen Latenzzeit des Systems. Kgraft hingegen überprüft nur die Konsistenz pro Funktion, sodass jeder Anweisung entweder nur die alte oder nur die neue Version einer Funktion bereitsteht. Dabei würden aber eventuelle Veränderungen an der Datenstruktur einer Funktion vernachlässigt, so Poimboeuf.
Der Quellcode von Kgraft steht über das Git-Repository von Suse-Entwickler Jiri Slaby(öffnet im neuen Fenster) bereit. Kpatch ist via Gitub(öffnet im neuen Fenster) verfügbar und lässt sich bereits mit Fedora 20 testen. Die Verwendung unter anderen Distributionen bereitet aber noch Probleme. Ebenso wie die Software selbst. Denn die Entwickler warnen vor Abstürzen, spontanen Neustarts und Datenverlust.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


