Use case - Live patching
Takashi Ikebe <[email protected]> Mon, 28 Mar 2005 11:14:50 +0900
| Newsgroups | gmane.linux.kernel.carrier-grade |
|---|---|
| Message-ID | <[email protected]> |
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. Takashi. ----------------------------------------------------------------------------------------------- Description 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 availability. Desired Outcome Mainline kernel acceptance or distro acceptance Participants/Roles System administrators setup the requirements on installations. On operation, system administrators apply patch with the requirement. Scenarios 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 patch. - 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 process. 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. References Pannus project: http://pannus.sourceforge.net/ Live patching implementation: http://prdownloads.sourceforge.net/pannus/pannus_en.pdf -- 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 : [email protected] _______________________________________________ cgl_discussion mailing list [email protected] http://lists.osdl.org/mailman/listinfo/cgl_discussion