Suse's kGraft looks to put live kernel patching back into Linux

Being able to patch a Linux kernel without a restart hit a brick wall when Oracle bought Ksplice in 2011, but Suse hopes to restore former glories with kGraft.
Written by Chris Duckett, Contributor

Suse has announced that it is developing kGraft, an open-source kernel patcher that will remove the need for restarting a Linux system updating the kernel.

KGraft is expected to have its first release in March, with Suse aiming to have the project eventually accepted into the kernel proper.

The source is to be licensed under both GPLv3 and GLPv2 — the parts of kGraft that interact with the GPLv2-licensed kernel will have GPLv2 licencing, with the parts that touch the GCC compiler using GPLv3.

"KGraft builds on technologies and ideas that are already present in the kernel: Ftrace and its mcount-based reserved space in function headers, the INT3/IPI-NMI patching also used in jumplabels, and RCU-like update of code that does not require stopping the kernel," wrote Vojtěch Pavlík, director of Suse Labs.

"A kGraft patch is a kernel module, and fully relies on the in-kernel module loader to link the new code with the kernel. Thanks to all that, the design can be nicely minimalistic."

The kGraft project is familiar ground for Linux, with Ksplice fulfilling the same niche at the turn of the decade.

Ksplice was eventually acquired by Oracle in 2011, after which open-source Ksplice releases soon stopped.

Oracle said in a letter to customers at the time: "The combination of Ksplice technology and Oracle Linux Premier Support is expected to be the only enterprise Linux provider that can offer zero downtime updates, and Oracle plans to make the Ksplice technology a standard feature of Oracle Linux Premier Support."

Should kGraft be accepted into the Linux kernel, Oracle's claims will hold far less water.

Editorial standards