[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH for-4.6 0/8] Fix libxl TOOLSTACK records for migration v2

The libxl blob for toolstack records was not 32/64bit safe.  In 64bit
builds, it had an extra 4 bytes of padding due to alignment, and because
of the pointer arithmatic used to build it, leaked 4 bytes of libxl heap
into the stream.

Respecify XENSTORE_DATA as EMULATOR_XENSTORE_DATA and take remedial
action to prevent this bitness issue escaping into a Xen release.

Patches 1-3 are bugfixes, one of which has already been posted on list.
Patches 4-8 implement EMULATOR_XENSTORE_DATA and remove the older
"toolstack" record implementation.

Andrew Cooper (8):
  tools/libxl: Only continue stream operations if the stream is still in 
  tools/libxl: Assert that libxl__ao_inprogress_gc() is not called with NULL
  tools/libxl: Make libxl__conversion_helper_abort() safe to use
  tools/libxl: Save and restore EMULATOR_XENSTORE_DATA content
  tools/libxl: Prepare to write multiple records with EMULATOR headers
  libxl/save&restore&convert: Switch to new EMULATOR_XENSTORE_DATA records
  tools/libxl: Drop all legacy "toolstack" record infrastructure

 docs/specs/libxl-migration-stream.pandoc   |   24 ++-
 tools/libxl/libxl_convert_callout.c        |    2 +-
 tools/libxl/libxl_dom.c                    |  302 ++++++++++------------------
 tools/libxl/libxl_event.c                  |    1 +
 tools/libxl/libxl_internal.h               |   11 +-
 tools/libxl/libxl_sr_stream_format.h       |   10 +-
 tools/libxl/libxl_stream_read.c            |   33 ++-
 tools/libxl/libxl_stream_write.c           |  135 +++++++++----
 tools/python/scripts/convert-legacy-stream |   68 ++++++-
 tools/python/xen/migration/legacy.py       |   40 +++-
 tools/python/xen/migration/libxl.py        |   70 +++++--
 tools/python/xen/migration/tests.py        |    2 +-
 12 files changed, 407 insertions(+), 291 deletions(-)


Xen-devel mailing list



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