[cgl_discussion] Use case - Live patching

Takashi Ikebe ikebe.takashi at lab.ntt.co.jp
Sun Mar 27 18:14:50 PST 2005

The following is a use case for a Live patching.  This
addresses AVL10.0 Live patching on CGL Specification 3.0.
Please feel free to comment / suggestion.

OSDL CGL specifies that carrier grade Linux shall provide the mechanism
for dynamically replacing the symbols of a running process without
restarting. Dynamic replacement of symbols allows a process to access
patched functions or values without restarting and can improve process

Desired Outcome
Mainline kernel acceptance or distro acceptance

System administrators setup the requirements on installations. On
operation, system administrators apply patch with the requirement.

On operation, system administrators apply patch with the requirement as
following scenario;
1.System administrators make patch file from diff file or new version's
source code.
2.System administrators load patch to the process with provided live
patch tool.
3.System administrators activate patch to the process with provided live
patch tool.
4.Confirm that the patch is correctly applied or not.

Implementation Notes
The requirement need to have following functions;
- The function which loads the patch file to target process's memory area.
- The function which overwrites the branch operation code to the patch,
on the entry point of  target process's functions which wants to fix by
- The function which restores overwritten branch code.
- The function which unload the patch files.
Through above functions, the requirement realize on-line patch to target
The requirement need to provide on-line patch even if the process is
multi-thread model process, or environment is SMP, and stop time of
target process should not over  100 milliseconds.

Pannus project: http://pannus.sourceforge.net/
Live patching implementation:

Takashi Ikebe
NTT Network Service Systems Laboratories
9-11, Midori-Cho 3-Chome Musashino-Shi,
Tokyo 180-8585 Japan
Tel : +81 422 59 4246, Fax : +81 422 60 4012
e-mail : ikebe.takashi at lab.ntt.co.jp

More information about the cgl_discussion mailing list