[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.