On Thu, Nov 06, 2014 at 08:39:06AM -0600, Seth Jennings wrote: > This patchset implements an ftrace-based mechanism and kernel interface for > doing live patching of kernel and kernel module functions. It represents the > greatest common functionality set between kpatch [1] and kGraft [2] and can > accept patches built using either method. This solution was discussed in the > Live Patching Mini-conference at LPC 2014 [3]. > > The model consists of a live patching "core" that provides an interface for > other "patch" kernel modules to register patches with the core. > > Patch modules contain the new function code and create an lp_patch > structure containing the required data about what functions to patch, where the > new code for each patched function resides, and in which kernel object (vmlinux > or module) the function to be patch resides. The patch module then invokes the > lp_register_patch() function to register with the core module, then > lp_enable_patch() to have to core module redirect the execution paths using > ftrace. > > An example patch module can be found here: > https://github.com/spartacus06/livepatch/blob/master/patch/patch.c > > The live patching core creates a sysfs hierarchy for user-level access to live > patching information. The hierarchy is structured like this: > > /sys/kernel/livepatch > /sys/kernel/livepatch/<patch> > /sys/kernel/livepatch/<patch>/enabled > /sys/kernel/livepatch/<patch>/<object> > /sys/kernel/livepatch/<patch>/<object>/<func> > /sys/kernel/livepatch/<patch>/<object>/<func>/new_addr > /sys/kernel/livepatch/<patch>/<object>/<func>/old_addr You are creating sysfs attributes with no Documentation/ABI/ entries, please fix that in future patches. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html