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

[Xen-devel] [PATCH v2 00/12] Improvements to domain creation



The main purpose of this series is to move the allocation of d->vcpu[] into
XEN_DOMCTL_createdomain, which resolves a longstanding issue since Xen 4.0
whereby the toolstack can cause NULL pointer deferences in Xen by issuing
hypercalls in an unexpected order.

Due to the way cleanup is currently performed, XEN_DOMCTL_max_vcpus is still
required at this point.  Further hypervisor cleanup and rearrangement is going
to be required before the hypercall can be dropped.

This series can be found in git form here:
  
http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/xen-create-v1

v2 has had comprehensive testing in XenServer, but is only build tested for ARM.

Andrew Cooper (12):
  tools/ocaml: Pass a full domctl_create_config into stub_xc_domain_create()
  tools: Rework xc_domain_create() to take a full xen_domctl_createdomain
  xen/domctl: Merge set_max_evtchn into createdomain
  xen/evtchn: Pass max_evtchn_port into evtchn_init()
  tools: Pass grant table limits to XEN_DOMCTL_set_gnttab_limits
  xen/gnttab: Pass max_{grant,maptrack}_frames into grant_table_create()
  xen/domctl: Remove XEN_DOMCTL_set_gnttab_limits
  xen/gnttab: Fold grant_table_{create,set_limits}() into grant_table_init()
  xen/domain: Call arch_domain_create() as early as possible in domain_create()
  tools: Pass max_vcpus to XEN_DOMCTL_createdomain
  xen/dom0: Arrange for dom0_cfg to contain the real max_vcpus value
  xen/domain: Allocate d->vcpu[] in domain_create()

 tools/flask/policy/modules/dom0.te   |   4 +-
 tools/flask/policy/modules/xen.if    |   4 +-
 tools/helpers/init-xenstore-domain.c |  39 ++++++-------
 tools/libxc/include/xenctrl.h        |  31 +----------
 tools/libxc/xc_domain.c              |  55 ++-----------------
 tools/libxl/libxl_arch.h             |   4 +-
 tools/libxl/libxl_arm.c              |  16 +++---
 tools/libxl/libxl_create.c           |  28 ++++++----
 tools/libxl/libxl_dom.c              |  13 -----
 tools/libxl/libxl_x86.c              |  10 ++--
 tools/ocaml/libs/xc/xenctrl.ml       |  18 +++++-
 tools/ocaml/libs/xc/xenctrl.mli      |  17 +++++-
 tools/ocaml/libs/xc/xenctrl_stubs.c  |  63 +++++++++++++++------
 tools/python/xen/lowlevel/xc/xc.c    |  42 ++++++++++----
 xen/arch/arm/domain_build.c          |  13 +++--
 xen/arch/arm/setup.c                 |  17 +++++-
 xen/arch/arm/vgic.c                  |  11 +---
 xen/arch/arm/vgic/vgic.c             |  22 +-------
 xen/arch/x86/dom0_build.c            |   7 ---
 xen/arch/x86/setup.c                 |   5 ++
 xen/common/domain.c                  |  57 ++++++++++++-------
 xen/common/domctl.c                  |  50 +----------------
 xen/common/event_channel.c           |   7 +--
 xen/common/grant_table.c             | 103 +++++++++--------------------------
 xen/include/asm-arm/grant_table.h    |  12 ----
 xen/include/asm-x86/grant_table.h    |   5 --
 xen/include/asm-x86/setup.h          |   2 -
 xen/include/public/domctl.h          |  30 ++++------
 xen/include/xen/domain.h             |   3 +
 xen/include/xen/grant_table.h        |   8 +--
 xen/include/xen/sched.h              |   2 +-
 xen/xsm/flask/hooks.c                |   6 --
 xen/xsm/flask/policy/access_vectors  |   4 --
 33 files changed, 281 insertions(+), 427 deletions(-)

-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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