[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 |