Re: LKPK (Live Kernel Patching Kit)

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


Christer Weinigel writes:

->You can't change the addresses of variables or functions if the only
->information you have available is the System.map file. The addresses
->of variables and functions in the kernel are resolved at link time and
->are encoded in the instructions themselves.

"address of var encoded into instruction themselves".

I realized that a while after I wrote my post :(

->I might add that I believe that what you're trying to do is extremely
->hard to get right. Changing an off-by-one error which just means
->replacing a JLT with a JLE instruction (were both instructions are the
->same size and have the same operands) is almost simple. Doing more
->complex changes makes my brain ache, just thinking about it. :-)

In case of ip_glue() my luck was that all function/variables which ip_glue
used were either exported symbols or were pointers. So it was straight-
forward to write ip_glue_new() and change first few instructions of
ip_glue() to JMP to the ip_glue_new().

Since it seems that it is dead-end, I think I'll just polish code a bit
and post it on web ... mabye some one comes up with better idea.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html