Re: live kernel upgrades (was: live kernel patching design)

Ingo Molnar
2015-02-24T10:25:52Z

* Pavel Machek <pavel@ucw.cz> wrote:

> > More importantly, both kGraft and kpatch are pretty limited
> > in what kinds of updates they allow, and neither kGraft nor
> > kpatch has any clear path towards applying more complex
> > fixes to kernel images that I can see: kGraft can only
> > apply the simplest of fixes where both versions of a
> > function are interchangeable, and kpatch is only marginally
> > better at that - and that's pretty fundamental to both
> > projects!
> >
> > I think all of these problems could be resolved by shooting
> > for the moon instead:
> >
> > - work towards allowing arbitrary live kernel upgrades!
> >
> > not just 'live kernel patches'.
>
> Note that live kernel upgrade would have interesting
> implications outside kernel:
>
> 1) glibc does "what kernel version is this?" caches
> result and alters behaviour accordingly.

That should be OK, as a new kernel will be ABI compatible
with an old kernel.

A later optimization could update the glibc cache on an
upgrade, fortunately both projects are open source.

> 2) apps will do recently_introduced_syscall(), get error
> and not attempt it again.

That should be fine too.

Thanks,

Ingo