From: Jessica Yu <jeyu@redhat.com>
To: Josh Poimboeuf <jpoimboe@redhat.com>,
Miroslav Benes <mbenes@suse.cz>, Petr Mladek <pmladek@suse.com>,
Jiri Kosina <jikos@kernel.org>,
Chris J Arges <chris.j.arges@canonical.com>,
Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
Cc: live-patching@vger.kernel.org, x86@kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Jessica Yu <jeyu@redhat.com>
Subject: [PATCH v3 3/3] Documentation: livepatch: add section about arch-specific code
Date: Wed, 17 Aug 2016 20:58:30 -0400 [thread overview]
Message-ID: <1471481911-5003-4-git-send-email-jeyu@redhat.com> (raw)
In-Reply-To: <1471481911-5003-1-git-send-email-jeyu@redhat.com>
Document usage of arch-specific elf sections in livepatch as well
as implementation of arch-specific code.
Signed-off-by: Jessica Yu <jeyu@redhat.com>
---
Documentation/livepatch/module-elf-format.txt | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/Documentation/livepatch/module-elf-format.txt b/Documentation/livepatch/module-elf-format.txt
index eedbdcf..02bfafa 100644
--- a/Documentation/livepatch/module-elf-format.txt
+++ b/Documentation/livepatch/module-elf-format.txt
@@ -25,7 +25,8 @@ Table of Contents
3.3.2 Required name format
3.3.3 Example livepatch symbol names
3.3.4 Example `readelf --symbols` output
-4. Symbol table and Elf section access
+4. Architecture-specific sections
+5. Symbol table and Elf section access
----------------------------
0. Background and motivation
@@ -46,7 +47,7 @@ architecture.
Since apply_relocate_add() requires access to a module's section header
table, symbol table, and relocation section indices, Elf information is
-preserved for livepatch modules (see section 4). Livepatch manages its own
+preserved for livepatch modules (see section 5). Livepatch manages its own
relocation sections and symbols, which are described in this document. The
Elf constants used to mark livepatch symbols and relocation sections were
selected from OS-specific ranges according to the definitions from glibc.
@@ -117,7 +118,7 @@ also possible for a livepatch module to have no livepatch relocation
sections, as in the case of the sample livepatch module (see
samples/livepatch).
-Since Elf information is preserved for livepatch modules (see Section 4), a
+Since Elf information is preserved for livepatch modules (see Section 5), a
livepatch relocation section can be applied simply by passing in the
appropriate section index to apply_relocate_add(), which then uses it to
access the relocation section and apply the relocations.
@@ -292,8 +293,19 @@ Symbol table '.symtab' contains 127 entries:
[*] Note that the 'Ndx' (Section index) for these symbols is SHN_LIVEPATCH (0xff20).
"OS" means OS-specific.
+---------------------------------
+4. Architecture-specific sections
+---------------------------------
+Architectures may override arch_klp_init_object_loaded() to perform
+additional arch-specific tasks when a target module loads, such as applying
+arch-specific sections. On x86 for example, we must apply per-object
+.altinstructions and .parainstructions sections when a target module loads.
+These sections can be prefixed with ".klp.arch.$objname." so that they can
+be easily identified when iterating through a patch module's Elf sections
+(See arch/x86/kernel/livepatch.c for a complete example).
+
--------------------------------------
-4. Symbol table and Elf section access
+5. Symbol table and Elf section access
--------------------------------------
A livepatch module's symbol table is accessible through module->symtab.
--
2.5.5
next prev parent reply other threads:[~2016-08-18 0:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-18 0:58 [PATCH v3 0/3] Fix issue with alternatives/paravirt patches Jessica Yu
2016-08-18 0:58 ` [PATCH v3 1/3] livepatch: use arch_klp_init_object_loaded() to finish arch-specific tasks Jessica Yu
2016-08-18 9:53 ` Petr Mladek
2016-08-18 0:58 ` [PATCH v3 2/3] livepatch/x86: apply alternatives and paravirt patches after relocations Jessica Yu
2016-08-18 9:51 ` Petr Mladek
2016-08-18 18:03 ` Jessica Yu
2016-08-19 8:32 ` Petr Mladek
2016-08-18 0:58 ` Jessica Yu [this message]
2016-08-18 9:57 ` [PATCH v3 3/3] Documentation: livepatch: add section about arch-specific code Petr Mladek
2016-08-18 18:06 ` Jessica Yu
2016-08-18 12:48 ` [PATCH v3 0/3] Fix issue with alternatives/paravirt patches Miroslav Benes
2016-08-18 21:46 ` Jiri Kosina
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=1471481911-5003-4-git-send-email-jeyu@redhat.com \
--to=jeyu@redhat.com \
--cc=chris.j.arges@canonical.com \
--cc=eugene.shatokhin@rosalab.ru \
--cc=jikos@kernel.org \
--cc=jpoimboe@redhat.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=live-patching@vger.kernel.org \
--cc=mbenes@suse.cz \
--cc=pmladek@suse.com \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.