[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141109201641.GA21349@kroah.com>
Date: Sun, 9 Nov 2014 12:16:41 -0800
From: Greg KH <gregkh@...uxfoundation.org>
To: Seth Jennings <sjenning@...hat.com>
Cc: Josh Poimboeuf <jpoimboe@...hat.com>,
Jiri Kosina <jkosina@...e.cz>,
Vojtech Pavlik <vojtech@...e.cz>,
Steven Rostedt <rostedt@...dmis.org>,
live-patching@...r.kernel.org, kpatch@...hat.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] Kernel Live Patching
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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists