LKPK (Live Kernel Patching Kit)

Adam Sulmicki (adam@cfar.UMD.EDU)
Sat, 25 Jul 1998 15:52:14 -0400


I'm currently writing an LKPK. The idea is that you can
"patch" your running kernel against an kernel bug and you
can continue run your mission critical server without
having to reboot machine.

Another use for it, is when you debug/develop something
kernel related what is not and/or cannot be modularized.
As LKPK allows you modularize given function(s) using
"brute force". So you can test as many version and as many
times as you want without having to recompile kernel and

All you need is valid

I have currnetly working proof-of-concept for the
off-by-one bug. It works really nicely. All you have to do
is just d/l the patch and type 'make patch-obo' and if you
for some reasons don't want it anymore just type
'make un-patch-obo'.

However, while I'm trying to write patch to the SIGIO bug,
I came acorss an problem.

I can assign specific address to ptrs to variable. However, HOW
can I make _variable_ to be at given address?

Same with function, I can make ptr to specific function and
I can assig it specific address. But, HOW can I declare
function and make it start at specific adreess?



I'll post URL to LKPK soon, I just hope to have it first working with
several examples of patching kernel and replacing functions
for deubgging.

Code is already highly modularized, so that it is
pretty easy to fix another bug using LKPK.

Finally, I still need to write better detection that the which it has found is the valid one.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at