I've seen that new functionality mentioned in Linux kernel 4.0 was the ability to update without a reboot.

  • Does this mean I can use my system with my application going, and the update will have no effect whatsoever on the execution of the current processes?
  • How is this achieved? Is it a copy file by file of the current kernel while saving the old files in temporary memory?

Is it like ksplice (kernel swap)? Or kGraft/kPatch?


It's not going to be Ksplice as it is not open source. Oracle is only distributing with its own distros.

According to Wikipedia for kpatch:

Since April 2015, there is ongoing work on porting kpatch to the common live patching core provided by the Linux kernel mainline. However, implementation of the required function-level consistency mechanisms has been delayed because the call stacks provided by the Linux kernel may be unreliable in situations that involve assembly code without proper stack frames; as a result, the porting work remains in progress as of September 2015. In an attempt to improve the reliability of kernel's call stacks, a specialized sanity-check stacktool userspace utility has also been developed.

As far as i know, kpatch/kgraft will not be used for updating kernel itself but patching it with "backported" patches. That means that if you run a distro only with security updates or if you manually want to update kernel you can do it with the help of that tool, without rebooting. Take a look at the Using kpatch in Red Hat Enterprise Linux 7 video

To answer to your questions:

  • YES!
  • Something like that but on the level of kernel functions. Check the video above for more details.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.