|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3] Livepatch fixes and features for v4.8.
Hey!
This the posting of fixes and various left-overs that didn't get
quite done in 4.7 is marked as v3.
It should have been v2, but I messed up the emails previously
(cover letter said v1, patches said v2), so I figured we can start at v3.
Included are:
- Bug-fixes
- Parsing of symbol names encoded as: symbol+0x<offset>/<len>
- NOP patching
- Generating an symbol map file with Xen's unique symbols (file#symbol)
so tools generating livepatch payloads can verify the right names.
- Hooks
The 'hooks' are the most controversial part of this and are left as the
last patch :-)
In the v2 posting there was a bit of 'const' discussion going back and
forth and we learned that: "gcc has always treated a function marked const
as having no unexpected inputs and no side effects." meaning that:
livepatch_loadcall_t **load_funcs;
is marked as:
const livepatch_loadcall_t **load_funcs;
or
livepatch_loadcall_t const **load_funcs;
Both end up omitting the call to the funcs and the hooks are not called.
Anyhow the git tree `
git://enbits.xen.org/people/konradwilk/xen.git livepatch.v4.8.v3
contains all the following patches:
.gitignore | 1 +
docs/misc/livepatch.markdown | 31 ++++++-
xen/Makefile | 4 +-
xen/arch/arm/Makefile | 3 +
xen/arch/arm/livepatch.c | 8 ++
xen/arch/x86/Makefile | 4 +
xen/arch/x86/alternative.c | 2 +-
xen/arch/x86/livepatch.c | 28 ++++--
xen/arch/x86/test/xen_hello_world.c | 35 +++++++
xen/common/livepatch.c | 176 ++++++++++++++++++++++++++++++------
xen/common/version.c | 6 +-
xen/include/asm-x86/alternative.h | 1 +
xen/include/xen/livepatch.h | 3 +-
xen/include/xen/livepatch_payload.h | 49 ++++++++++
xen/include/xen/version.h | 9 ++
xen/tools/symbols.c | 12 ++-
16 files changed, 325 insertions(+), 47 deletions(-)
Konrad Rzeszutek Wilk (8):
livepatch: Clear .bss when payload is reverted
livepatch: Deal with payloads without any .text
version/livepatch: Move xen_build_id_check to version.h
livepatch: Sync cache of build-id before using it first time.
livepatch: Move code from prepare_payload to own routine
livepatch: Add parsing for the symbol+0x<offset>/<len>
livepatch: NOP if func->new_[addr,size] is zero.
symbols: Generate an xen-sym.map
Ross Lagerwall (1):
livepach: Add .livepatch.hooks functions and test-case
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |