From: Joe Lawrence <joe.lawrence@redhat.com>
To: live-patching@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Josh Poimboeuf <jpoimboe@redhat.com>,
Jessica Yu <jeyu@redhat.com>, Jiri Kosina <jikos@kernel.org>,
Miroslav Benes <mbenes@suse.cz>, Petr Mladek <pmladek@suse.com>
Subject: [PATCH v2 0/2] livepatch: add shadow variable API
Date: Wed, 28 Jun 2017 11:37:25 -0400 [thread overview]
Message-ID: <1498664247-12296-1-git-send-email-joe.lawrence@redhat.com> (raw)
This is v2 of the shadow variable implementation patchset, incorporating
much of the feedback from the first version:
v2:
- squashed the Documentation patch with the API implementation patch
- converted API parameter/return documentation to docbook style comments
in the .c implementation
- converted the klp_shadow string descriptor to an unsigned long
- combined shadow data and klp_shadow structure to one allocation
- adopted kfree_rcu() suggestion
- added klp_shadow_get_or_create() to the API to help avoid racing
klp_shadow_get + klp_shadow_attach() instances
- added klp_shadow_detach_all() to the API to cleanup a set of
<*, num> shadow variables
- created a new set of sample modules to demonstrate the API:
- a buggy module
- fix 1 to plug a memory leak in newly allocate data structures
- fix 2 to add functionality to in-flight data structures
The sample modules are contrived to demonstrate the shadow variable API.
Instead of patching already in-tree code, I created a simple module to
avoid any kallsyms workarounds. That said, the description and
demonstration debug printing could stand further refinement. IMHO, the
code is easier to follow than the periodic kernel messages logged.
Suggestions welcome.
Joe Lawrence (2):
livepatch: introduce shadow variable API
livepatch: add shadow variable sample programs
Documentation/livepatch/shadow-vars.txt | 156 +++++++++++++
include/linux/livepatch.h | 8 +
kernel/livepatch/Makefile | 2 +-
kernel/livepatch/shadow.c | 257 ++++++++++++++++++++++
samples/Kconfig | 5 +-
samples/livepatch/Makefile | 3 +
samples/livepatch/livepatch-shadow-fix1.c | 160 ++++++++++++++
samples/livepatch/livepatch-shadow-fix2.c | 157 +++++++++++++
samples/livepatch/livepatch-shadow-mod.c | 353 ++++++++++++++++++++++++++++++
9 files changed, 1097 insertions(+), 4 deletions(-)
create mode 100644 Documentation/livepatch/shadow-vars.txt
create mode 100644 kernel/livepatch/shadow.c
create mode 100644 samples/livepatch/livepatch-shadow-fix1.c
create mode 100644 samples/livepatch/livepatch-shadow-fix2.c
create mode 100644 samples/livepatch/livepatch-shadow-mod.c
--
1.8.3.1
next reply other threads:[~2017-06-28 15:37 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-28 15:37 Joe Lawrence [this message]
2017-06-28 15:37 ` [PATCH v2 1/2] livepatch: introduce shadow variable API Joe Lawrence
2017-06-30 13:49 ` kbuild test robot
2017-07-07 18:05 ` Joe Lawrence
2017-07-14 0:41 ` Josh Poimboeuf
2017-07-17 15:35 ` Miroslav Benes
2017-07-18 13:00 ` Petr Mladek
2017-07-18 19:36 ` Joe Lawrence
2017-07-19 15:19 ` Petr Mladek
2017-07-19 18:50 ` Miroslav Benes
2017-07-17 15:29 ` Miroslav Benes
2017-07-18 20:21 ` Joe Lawrence
2017-07-19 2:28 ` Josh Poimboeuf
2017-07-19 19:01 ` Miroslav Benes
2017-07-20 14:45 ` Miroslav Benes
2017-07-20 15:48 ` Joe Lawrence
2017-07-20 20:23 ` Josh Poimboeuf
2017-07-21 8:42 ` Petr Mladek
2017-07-21 8:59 ` Miroslav Benes
2017-07-18 12:45 ` Petr Mladek
2017-07-20 20:30 ` Joe Lawrence
2017-07-21 9:12 ` Miroslav Benes
2017-07-21 9:27 ` Petr Mladek
2017-07-21 9:13 ` Petr Mladek
2017-07-21 13:55 ` Joe Lawrence
2017-07-24 15:04 ` Josh Poimboeuf
2017-06-28 15:37 ` [PATCH v2 2/2] livepatch: add shadow variable sample programs Joe Lawrence
2017-07-18 14:47 ` Petr Mladek
2017-07-18 19:15 ` Joe Lawrence
2017-07-19 14:44 ` Petr Mladek
2017-07-19 15:06 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1498664247-12296-1-git-send-email-joe.lawrence@redhat.com \
--to=joe.lawrence@redhat.com \
--cc=jeyu@redhat.com \
--cc=jikos@kernel.org \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=live-patching@vger.kernel.org \
--cc=mbenes@suse.cz \
--cc=pmladek@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).