Interesting operating system technology tainted by stolen money
Every enterprise wants to harden its servers and increase uptime, but security updates often require reboots. Companies that want to please their customers need a better way to apply software updates. One potential solution for Linux servers is Ksplice, which can seamlessly apply live updates while the system is running.
The underlying technology behind Ksplice is highly sophisticated. To generate a live update, it compares compiled object code from before and after a source patch is applied, a technique that the developers refer to as “pre-post differencing.” They take advantage of the -ffunction-sections and -fdata-sections options of the C compiler to eliminate some variance between the pre- and post-object code.
To determine where the symbols reside in memory, they use a method that they describe as run-pre matching, which compares the “pre” object code to the code that is running in memory. This is done with a special Ksplice kernel module. The live updates generated by Ksplice inject new functions into memory while the kernel is running and modify the old functions so that their path of execution will be redirected to the new versions.
According to a research paper published by the developers, the live update process will disrupt system operation for a mere 0.7 milliseconds. The system state will be left completely intact through the process, meaning that that the overall impact of the live update should not be perceivable.
A majority of kernel security patches can be applied through Ksplice without requiring intervention. Patches that make semantic changes to kernel data structures, however, will need to be accompanied by some custom code to aid the update. In tests, the researchers found that 88 percent of the critical security patches issued for the x86 Linux kernel recently could be applied by Ksplice without requiring additional custom code.
The company announced on Monday that it has received a $100,000 Small Business Innovation Research (SBIR) grant from the National Science Foundation to fund further development of Ksplice technology.
“We think that the Ksplice technology represents an opportunity to finally conquer the software update challenge that exists in every computing system “from the server software stack to communications equipment to storage appliances,” said Ksplice CTO Tim Abbott in a statement. “We are pleased that the National Science Foundation recognizes the potential of this technology and has decided to support our company.”
This technique is hardly new. There have been hot kernel fixes for decades. It is nice to see it come to Linux though. Unfortunately the NSF has decided to spend taxpayer money on this adventure rather then allowing the marketplace decide whether it’s a necessary feature or if it’s implemented well enough.



