[kpatch] livepatch vs kpatch hooks and stack check

Joe Lawrence joe.lawrence at redhat.com
Fri Apr 26 13:32:46 UTC 2019


On 4/26/19 3:51 AM, Mario Smarduch wrote:
> Hello,
>    I noticed that with livepatch the old and new functions can
> run in parallel, but with kpatch the kpatch module load fails on
> "activeness safety check".

Hi Mario,

I think you are referring to kpatch's use of stop_machine() to quiesce 
the system before patching vs. livepatch's consistency model[1] and its 
convergence on a patched state?

> Am I missing something with livepatch? Is there another way to
> build and run it?

AFAIK there is no way around the consistency model with livepatch.  What 
you might be able to do is hack the kpatch-build to utilize the kpatch 
support module instead of the livepatch API.  (Look for the 
$KPATCH_MODULE code in the kpatch-build script.)  I don't think this use 
case is very well tested and in fact, the kpatch.ko will be deprecated 
eventually.

Do you have a particular case in mind which the livepatch consistency 
model does not support?

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/livepatch/livepatch.txt?h=v5.1-rc6#n63

Regards,

-- Joe




More information about the kpatch mailing list