4

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?

Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255

1 Answers1

1

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.
Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255