From 0883ce22a78c58f245ba7580f602bbf055cc1ad3e1d1a5287789f96c5761a80f Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Tue, 6 Oct 2015 21:17:42 +0000 Subject: [PATCH] - bsc#949138 - Setting vcpu affinity under Xen causes libvirtd abort 54f4985f-libxl-fix-libvirtd-double-free.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=380 --- 54f4985f-libxl-fix-libvirtd-double-free.patch | 90 +++++++++++++++++++ ...-use-DEBUG-log-level-instead-of-INFO.patch | 2 +- ...-disable-disk-cache-flushes-in-qdisk.patch | 2 +- libxl.pvscsi.patch | 84 ++++++++++------- ...t-migration-constraints-from-cmdline.patch | 6 +- local_attach_support_for_phy.patch | 8 +- xen.changes | 7 ++ xen.spec | 79 ++++++++-------- 8 files changed, 200 insertions(+), 78 deletions(-) create mode 100644 54f4985f-libxl-fix-libvirtd-double-free.patch diff --git a/54f4985f-libxl-fix-libvirtd-double-free.patch b/54f4985f-libxl-fix-libvirtd-double-free.patch new file mode 100644 index 0000000..2b04961 --- /dev/null +++ b/54f4985f-libxl-fix-libvirtd-double-free.patch @@ -0,0 +1,90 @@ +References: bsc#949138 + +Subject: libxl: make some _dispose functions idempotent and tolerate NULL +From: Wei Liu wei.liu2@citrix.com Wed Feb 25 14:56:02 2015 +0000 +Date: Mon Mar 2 17:05:35 2015 +0000: +Git: 1ea68f1a82ef94b3cc644fa70307c5151f356baf + +These functions are not generated, so we need to do it by hand. + +Functions list: + libxl_bitmap_dispose + libxl_string_list_dispose + libxl_key_value_list_dipose + libxl_cpuid_dispose + +Signed-off-by: Wei Liu +Cc: Ian Campbell +Cc: Ian Jackson +Acked-by: Ian Campbell + +Index: xen-4.5.1-testing/tools/libxl/libxl.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl.c ++++ xen-4.5.1-testing/tools/libxl/libxl.c +@@ -211,9 +211,12 @@ void libxl_string_list_dispose(libxl_str + if (!sl) + return; + +- for (i = 0; sl[i] != NULL; i++) ++ for (i = 0; sl[i] != NULL; i++) { + free(sl[i]); ++ sl[i] = NULL; ++ } + free(sl); ++ *psl = NULL; + } + + void libxl_string_list_copy(libxl_ctx *ctx, +@@ -273,10 +276,14 @@ void libxl_key_value_list_dispose(libxl_ + + for (i = 0; kvl[i] != NULL; i += 2) { + free(kvl[i]); +- if (kvl[i + 1]) ++ kvl[i] = NULL; ++ if (kvl[i + 1]) { + free(kvl[i + 1]); ++ kvl[i+1] = NULL; ++ } + } + free(kvl); ++ *pkvl = NULL; + } + + void libxl_key_value_list_copy(libxl_ctx *ctx, +Index: xen-4.5.1-testing/tools/libxl/libxl_cpuid.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_cpuid.c ++++ xen-4.5.1-testing/tools/libxl/libxl_cpuid.c +@@ -28,10 +28,13 @@ void libxl_cpuid_dispose(libxl_cpuid_pol + return; + for (i = 0; cpuid_list[i].input[0] != XEN_CPUID_INPUT_UNUSED; i++) { + for (j = 0; j < 4; j++) +- if (cpuid_list[i].policy[j] != NULL) ++ if (cpuid_list[i].policy[j] != NULL) { + free(cpuid_list[i].policy[j]); ++ cpuid_list[i].policy[j] = NULL; ++ } + } + free(cpuid_list); ++ *p_cpuid_list = NULL; + return; + } + +Index: xen-4.5.1-testing/tools/libxl/libxl_utils.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_utils.c ++++ xen-4.5.1-testing/tools/libxl/libxl_utils.c +@@ -604,7 +604,12 @@ void libxl_bitmap_init(libxl_bitmap *map + + void libxl_bitmap_dispose(libxl_bitmap *map) + { ++ if (!map) ++ return; ++ + free(map->map); ++ map->map = NULL; ++ map->size = 0; + } + + void libxl_bitmap_copy(libxl_ctx *ctx, libxl_bitmap *dptr, diff --git a/5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch b/5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch index 2d032d7..1736236 100644 --- a/5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch +++ b/5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch @@ -16,7 +16,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c =================================================================== --- xen-4.5.1-testing.orig/tools/libxl/libxl.c +++ xen-4.5.1-testing/tools/libxl/libxl.c -@@ -1688,7 +1688,7 @@ static void devices_destroy_cb(libxl__eg +@@ -1695,7 +1695,7 @@ static void devices_destroy_cb(libxl__eg _exit(-1); } } diff --git a/libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch b/libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch index 4dfff35..9b82951 100644 --- a/libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch +++ b/libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch @@ -11,7 +11,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c =================================================================== --- xen-4.5.1-testing.orig/tools/libxl/libxl.c +++ xen-4.5.1-testing/tools/libxl/libxl.c -@@ -2818,6 +2818,8 @@ static void device_disk_add(libxl__egc * +@@ -2825,6 +2825,8 @@ static void device_disk_add(libxl__egc * flexarray_append_pair(back, "discard-enable", libxl_defbool_val(disk->discard_enable) ? "1" : "0"); diff --git a/libxl.pvscsi.patch b/libxl.pvscsi.patch index d0cdd51..845cd67 100644 --- a/libxl.pvscsi.patch +++ b/libxl.pvscsi.patch @@ -31,8 +31,10 @@ ee2e7e5 Merge pull request #1 from aaannz/pvscsi 7de6f49 support character devices too c84381b allow /dev/sda as scsi devspec f11e3a2 pvscsi ---- a/docs/man/xl.cfg.pod.5 -+++ b/docs/man/xl.cfg.pod.5 +Index: xen-4.5.1-testing/docs/man/xl.cfg.pod.5 +=================================================================== +--- xen-4.5.1-testing.orig/docs/man/xl.cfg.pod.5 ++++ xen-4.5.1-testing/docs/man/xl.cfg.pod.5 @@ -448,6 +448,36 @@ value is optional if this is a guest dom =back @@ -70,8 +72,10 @@ f11e3a2 pvscsi =item B Specifies the paravirtual framebuffer devices which should be supplied ---- a/docs/man/xl.pod.1 -+++ b/docs/man/xl.pod.1 +Index: xen-4.5.1-testing/docs/man/xl.pod.1 +=================================================================== +--- xen-4.5.1-testing.orig/docs/man/xl.pod.1 ++++ xen-4.5.1-testing/docs/man/xl.pod.1 @@ -1323,6 +1323,26 @@ List virtual trusted platform modules fo =back @@ -99,9 +103,11 @@ f11e3a2 pvscsi =head1 PCI PASS-THROUGH =over 4 ---- a/tools/libxl/libxl.c -+++ b/tools/libxl/libxl.c -@@ -2310,6 +2310,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx +Index: xen-4.5.1-testing/tools/libxl/libxl.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl.c ++++ xen-4.5.1-testing/tools/libxl/libxl.c +@@ -2317,6 +2317,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx return rc; } @@ -375,7 +381,7 @@ f11e3a2 pvscsi /******************************************************************************/ -@@ -4185,6 +4452,8 @@ out: +@@ -4192,6 +4459,8 @@ out: * libxl_device_vkb_destroy * libxl_device_vfb_remove * libxl_device_vfb_destroy @@ -384,7 +390,7 @@ f11e3a2 pvscsi */ #define DEFINE_DEVICE_REMOVE(type, removedestroy, f) \ int libxl_device_##type##_##removedestroy(libxl_ctx *ctx, \ -@@ -4240,6 +4509,10 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) +@@ -4247,6 +4516,10 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) * 1. add support for secondary consoles to xenconsoled * 2. dynamically add/remove qemu chardevs via qmp messages. */ @@ -395,7 +401,7 @@ f11e3a2 pvscsi #undef DEFINE_DEVICE_REMOVE /******************************************************************************/ -@@ -4249,6 +4522,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) +@@ -4256,6 +4529,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1) * libxl_device_disk_add * libxl_device_nic_add * libxl_device_vtpm_add @@ -403,7 +409,7 @@ f11e3a2 pvscsi */ #define DEFINE_DEVICE_ADD(type) \ -@@ -4280,6 +4554,9 @@ DEFINE_DEVICE_ADD(nic) +@@ -4287,6 +4561,9 @@ DEFINE_DEVICE_ADD(nic) /* vtpm */ DEFINE_DEVICE_ADD(vtpm) @@ -413,7 +419,7 @@ f11e3a2 pvscsi #undef DEFINE_DEVICE_ADD /******************************************************************************/ -@@ -6822,6 +7099,20 @@ out: +@@ -6829,6 +7106,20 @@ out: return rc; } @@ -434,8 +440,10 @@ f11e3a2 pvscsi /* * Local variables: * mode: C ---- a/tools/libxl/libxl.h -+++ b/tools/libxl/libxl.h +Index: xen-4.5.1-testing/tools/libxl/libxl.h +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl.h ++++ xen-4.5.1-testing/tools/libxl/libxl.h @@ -1238,6 +1238,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis int libxl_device_vtpm_getinfo(libxl_ctx *ctx, uint32_t domid, libxl_device_vtpm *vtpm, libxl_vtpminfo *vtpminfo); @@ -491,8 +499,10 @@ f11e3a2 pvscsi #endif /* LIBXL_H */ /* ---- a/tools/libxl/libxl_create.c -+++ b/tools/libxl/libxl_create.c +Index: xen-4.5.1-testing/tools/libxl/libxl_create.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_create.c ++++ xen-4.5.1-testing/tools/libxl/libxl_create.c @@ -1141,6 +1141,7 @@ static void domcreate_rebuild_done(libxl libxl__multidev_begin(ao, &dcs->multidev); dcs->multidev.callback = domcreate_launch_dm; @@ -501,8 +511,10 @@ f11e3a2 pvscsi libxl__multidev_prepared(egc, &dcs->multidev, 0); return; ---- a/tools/libxl/libxl_device.c -+++ b/tools/libxl/libxl_device.c +Index: xen-4.5.1-testing/tools/libxl/libxl_device.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_device.c ++++ xen-4.5.1-testing/tools/libxl/libxl_device.c @@ -541,6 +541,7 @@ void libxl__multidev_prepared(libxl__egc * The following functions are defined: * libxl__add_disks @@ -544,8 +556,10 @@ f11e3a2 pvscsi /******************************************************************************/ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) ---- a/tools/libxl/libxl_internal.h -+++ b/tools/libxl/libxl_internal.h +Index: xen-4.5.1-testing/tools/libxl/libxl_internal.h +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_internal.h ++++ xen-4.5.1-testing/tools/libxl/libxl_internal.h @@ -1079,6 +1079,7 @@ _hidden int libxl__device_disk_setdefaul _hidden int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic, uint32_t domid); @@ -576,8 +590,10 @@ f11e3a2 pvscsi /*----- device model creation -----*/ /* First layer; wraps libxl__spawn_spawn. */ ---- a/tools/libxl/libxl_types.idl -+++ b/tools/libxl/libxl_types.idl +Index: xen-4.5.1-testing/tools/libxl/libxl_types.idl +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_types.idl ++++ xen-4.5.1-testing/tools/libxl/libxl_types.idl @@ -540,6 +540,26 @@ libxl_device_channel = Struct("device_ch ])), ]) @@ -643,8 +659,10 @@ f11e3a2 pvscsi libxl_vcpuinfo = Struct("vcpuinfo", [ ("vcpuid", uint32), ("cpu", uint32), ---- a/tools/libxl/libxl_types_internal.idl -+++ b/tools/libxl/libxl_types_internal.idl +Index: xen-4.5.1-testing/tools/libxl/libxl_types_internal.idl +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/libxl_types_internal.idl ++++ xen-4.5.1-testing/tools/libxl/libxl_types_internal.idl @@ -22,6 +22,7 @@ libxl__device_kind = Enumeration("device (6, "VKBD"), (7, "CONSOLE"), @@ -653,8 +671,10 @@ f11e3a2 pvscsi ]) libxl__console_backend = Enumeration("console_backend", [ ---- a/tools/libxl/xl.h -+++ b/tools/libxl/xl.h +Index: xen-4.5.1-testing/tools/libxl/xl.h +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/xl.h ++++ xen-4.5.1-testing/tools/libxl/xl.h @@ -83,6 +83,9 @@ int main_channellist(int argc, char **ar int main_blockattach(int argc, char **argv); int main_blocklist(int argc, char **argv); @@ -665,8 +685,10 @@ f11e3a2 pvscsi int main_vtpmattach(int argc, char **argv); int main_vtpmlist(int argc, char **argv); int main_vtpmdetach(int argc, char **argv); ---- a/tools/libxl/xl_cmdimpl.c -+++ b/tools/libxl/xl_cmdimpl.c +Index: xen-4.5.1-testing/tools/libxl/xl_cmdimpl.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.5.1-testing/tools/libxl/xl_cmdimpl.c @@ -17,6 +17,7 @@ #include "libxl_osdeps.h" @@ -1139,8 +1161,10 @@ f11e3a2 pvscsi int main_vtpmattach(int argc, char **argv) { int opt; ---- a/tools/libxl/xl_cmdtable.c -+++ b/tools/libxl/xl_cmdtable.c +Index: xen-4.5.1-testing/tools/libxl/xl_cmdtable.c +=================================================================== +--- xen-4.5.1-testing.orig/tools/libxl/xl_cmdtable.c ++++ xen-4.5.1-testing/tools/libxl/xl_cmdtable.c @@ -372,6 +372,21 @@ struct cmd_spec cmd_table[] = { "Destroy a domain's virtual block device", " ", diff --git a/libxl.set-migration-constraints-from-cmdline.patch b/libxl.set-migration-constraints-from-cmdline.patch index db66db6..fd11ad0 100644 --- a/libxl.set-migration-constraints-from-cmdline.patch +++ b/libxl.set-migration-constraints-from-cmdline.patch @@ -243,7 +243,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c =================================================================== --- xen-4.5.1-testing.orig/tools/libxl/libxl.c +++ xen-4.5.1-testing/tools/libxl/libxl.c -@@ -944,7 +944,8 @@ static void domain_suspend_cb(libxl__egc +@@ -951,7 +951,8 @@ static void domain_suspend_cb(libxl__egc } @@ -253,7 +253,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c const libxl_asyncop_how *ao_how) { AO_CREATE(ctx, domid, ao_how); -@@ -965,8 +966,14 @@ int libxl_domain_suspend(libxl_ctx *ctx, +@@ -972,8 +973,14 @@ int libxl_domain_suspend(libxl_ctx *ctx, dss->domid = domid; dss->fd = fd; dss->type = type; @@ -270,7 +270,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c libxl__domain_suspend(egc, dss); return AO_INPROGRESS; -@@ -975,6 +982,20 @@ int libxl_domain_suspend(libxl_ctx *ctx, +@@ -982,6 +989,20 @@ int libxl_domain_suspend(libxl_ctx *ctx, return AO_ABORT(rc); } diff --git a/local_attach_support_for_phy.patch b/local_attach_support_for_phy.patch index ff54c4b..b04ffc1 100644 --- a/local_attach_support_for_phy.patch +++ b/local_attach_support_for_phy.patch @@ -14,7 +14,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c =================================================================== --- xen-4.5.1-testing.orig/tools/libxl/libxl.c +++ xen-4.5.1-testing/tools/libxl/libxl.c -@@ -3053,6 +3053,16 @@ void libxl__device_disk_local_initiate_a +@@ -3060,6 +3060,16 @@ void libxl__device_disk_local_initiate_a switch (disk->backend) { case LIBXL_DISK_BACKEND_PHY: @@ -31,7 +31,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s", disk->pdev_path); dev = disk->pdev_path; -@@ -3132,7 +3142,7 @@ static void local_device_attach_cb(libxl +@@ -3139,7 +3149,7 @@ static void local_device_attach_cb(libxl } dev = GCSPRINTF("/dev/%s", disk->vdev); @@ -40,7 +40,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device); if (rc < 0) -@@ -3172,6 +3182,7 @@ void libxl__device_disk_local_initiate_d +@@ -3179,6 +3189,7 @@ void libxl__device_disk_local_initiate_d if (!dls->diskpath) goto out; switch (disk->backend) { @@ -48,7 +48,7 @@ Index: xen-4.5.1-testing/tools/libxl/libxl.c case LIBXL_DISK_BACKEND_QDISK: if (disk->vdev != NULL) { GCNEW(device); -@@ -3189,7 +3200,6 @@ void libxl__device_disk_local_initiate_d +@@ -3196,7 +3207,6 @@ void libxl__device_disk_local_initiate_d /* disk->vdev == NULL; fall through */ default: /* diff --git a/xen.changes b/xen.changes index 1a19c84..36e6039 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Oct 6 14:52:30 MDT 2015 - jfehlig@suse.com + +- bsc#949138 - Setting vcpu affinity under Xen causes libvirtd + abort + 54f4985f-libxl-fix-libvirtd-double-free.patch + ------------------------------------------------------------------- Tue Oct 6 09:04:17 MDT 2015 - carnold@suse.com diff --git a/xen.spec b/xen.spec index ddce140..14ffe97 100644 --- a/xen.spec +++ b/xen.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - # needssslcertforbuild Name: xen @@ -202,44 +201,45 @@ Source99: baselibs.conf # http://xenbits.xensource.com/ext/xenalyze Source20000: xenalyze.hg.tar.bz2 # Upstream patches -Patch1: 55103616-vm-assist-prepare-for-discontiguous-used-bit-numbers.patch -Patch2: 551ac326-xentop-add-support-for-qdisk.patch -Patch3: 552d0f49-x86-traps-identify-the-vcpu-in-context-when-dumping-regs.patch -Patch4: 5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch -Patch5: 5548e903-domctl-don-t-truncate-XEN_DOMCTL_max_mem-requests.patch -Patch6: 5548e95d-x86-allow-to-suppress-M2P-user-mode-exposure.patch -Patch7: 554cc211-libxl-add-qxl.patch -Patch8: 556d973f-unmodified-drivers-tolerate-IRQF_DISABLED-being-undefined.patch -Patch9: 5576f178-kexec-add-more-pages-to-v1-environment.patch -Patch10: 55780be1-x86-EFI-adjust-EFI_MEMORY_WP-handling-for-spec-version-2.5.patch -Patch11: 558bfaa0-x86-traps-avoid-using-current-too-early.patch -Patch12: 5592a116-nested-EPT-fix-the-handling-of-nested-EPT.patch -Patch13: 559b9dd6-x86-p2m-ept-don-t-unmap-in-use-EPT-pagetable.patch -Patch14: 559bc633-x86-cpupool-clear-proper-cpu_valid-bit-on-CPU-teardown.patch -Patch15: 559bc64e-credit1-properly-deal-with-CPUs-not-in-any-pool.patch -Patch16: 559bc87f-x86-hvmloader-avoid-data-corruption-with-xenstore-rw.patch -Patch17: 559bdde5-pull-in-latest-linux-earlycpio.patch -Patch18: 55a62eb0-xl-correct-handling-of-extra_config-in-main_cpupoolcreate.patch -Patch19: 55a66a1e-make-rangeset_report_ranges-report-all-ranges.patch -Patch20: 55a77e4f-dmar-device-scope-mem-leak-fix.patch -Patch21: 55c1d83d-x86-gdt-Drop-write-only-xalloc-d-array.patch -Patch22: 55c3232b-x86-mm-Make-hap-shadow-teardown-preemptible.patch -Patch23: 55dc78e9-x86-amd_ucode-skip-updates-for-final-levels.patch -Patch24: 55dc7937-x86-IO-APIC-don-t-create-pIRQ-mapping-from-masked-RTE.patch -Patch25: 55df2f76-IOMMU-skip-domains-without-page-tables-when-dumping.patch -Patch26: 55e43fd8-x86-NUMA-fix-setup_node.patch -Patch27: 55e43ff8-x86-NUMA-don-t-account-hotplug-regions.patch -Patch28: 55e593f1-x86-NUMA-make-init_node_heap-respect-Xen-heap-limit.patch -Patch29: 55f2e438-x86-hvm-fix-saved-pmtimer-and-hpet-values.patch -Patch30: 55f7f9d2-libxl-slightly-refine-pci-assignable-add-remove-handling.patch -Patch31: 55f9345b-x86-MSI-fail-if-no-hardware-support.patch -Patch32: 5604f239-x86-PV-properly-populate-descriptor-tables.patch -Patch33: 5604f2e6-vt-d-fix-IM-bit-mask-and-unmask-of-FECTL_REG.patch -Patch34: 560a4af9-x86-EPT-tighten-conditions-of-IOMMU-mapping-updates.patch -Patch35: 560a7c36-x86-p2m-pt-delay-freeing-of-intermediate-page-tables.patch -Patch36: 560a7c53-x86-p2m-pt-ignore-pt-share-flag-for-shadow-mode-guests.patch -Patch37: 560bd926-credit1-fix-tickling-when-it-happens-from-a-remote-pCPU.patch -Patch38: 560e6d34-x86-p2m-pt-tighten-conditions-of-IOMMU-mapping-updates.patch +Patch1: 54f4985f-libxl-fix-libvirtd-double-free.patch +Patch2: 55103616-vm-assist-prepare-for-discontiguous-used-bit-numbers.patch +Patch3: 551ac326-xentop-add-support-for-qdisk.patch +Patch4: 552d0f49-x86-traps-identify-the-vcpu-in-context-when-dumping-regs.patch +Patch5: 5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch +Patch6: 5548e903-domctl-don-t-truncate-XEN_DOMCTL_max_mem-requests.patch +Patch7: 5548e95d-x86-allow-to-suppress-M2P-user-mode-exposure.patch +Patch8: 554cc211-libxl-add-qxl.patch +Patch9: 556d973f-unmodified-drivers-tolerate-IRQF_DISABLED-being-undefined.patch +Patch10: 5576f178-kexec-add-more-pages-to-v1-environment.patch +Patch11: 55780be1-x86-EFI-adjust-EFI_MEMORY_WP-handling-for-spec-version-2.5.patch +Patch12: 558bfaa0-x86-traps-avoid-using-current-too-early.patch +Patch13: 5592a116-nested-EPT-fix-the-handling-of-nested-EPT.patch +Patch14: 559b9dd6-x86-p2m-ept-don-t-unmap-in-use-EPT-pagetable.patch +Patch15: 559bc633-x86-cpupool-clear-proper-cpu_valid-bit-on-CPU-teardown.patch +Patch16: 559bc64e-credit1-properly-deal-with-CPUs-not-in-any-pool.patch +Patch17: 559bc87f-x86-hvmloader-avoid-data-corruption-with-xenstore-rw.patch +Patch18: 559bdde5-pull-in-latest-linux-earlycpio.patch +Patch19: 55a62eb0-xl-correct-handling-of-extra_config-in-main_cpupoolcreate.patch +Patch20: 55a66a1e-make-rangeset_report_ranges-report-all-ranges.patch +Patch21: 55a77e4f-dmar-device-scope-mem-leak-fix.patch +Patch22: 55c1d83d-x86-gdt-Drop-write-only-xalloc-d-array.patch +Patch23: 55c3232b-x86-mm-Make-hap-shadow-teardown-preemptible.patch +Patch24: 55dc78e9-x86-amd_ucode-skip-updates-for-final-levels.patch +Patch25: 55dc7937-x86-IO-APIC-don-t-create-pIRQ-mapping-from-masked-RTE.patch +Patch26: 55df2f76-IOMMU-skip-domains-without-page-tables-when-dumping.patch +Patch27: 55e43fd8-x86-NUMA-fix-setup_node.patch +Patch28: 55e43ff8-x86-NUMA-don-t-account-hotplug-regions.patch +Patch29: 55e593f1-x86-NUMA-make-init_node_heap-respect-Xen-heap-limit.patch +Patch30: 55f2e438-x86-hvm-fix-saved-pmtimer-and-hpet-values.patch +Patch31: 55f7f9d2-libxl-slightly-refine-pci-assignable-add-remove-handling.patch +Patch32: 55f9345b-x86-MSI-fail-if-no-hardware-support.patch +Patch33: 5604f239-x86-PV-properly-populate-descriptor-tables.patch +Patch34: 5604f2e6-vt-d-fix-IM-bit-mask-and-unmask-of-FECTL_REG.patch +Patch35: 560a4af9-x86-EPT-tighten-conditions-of-IOMMU-mapping-updates.patch +Patch36: 560a7c36-x86-p2m-pt-delay-freeing-of-intermediate-page-tables.patch +Patch37: 560a7c53-x86-p2m-pt-ignore-pt-share-flag-for-shadow-mode-guests.patch +Patch38: 560bd926-credit1-fix-tickling-when-it-happens-from-a-remote-pCPU.patch +Patch39: 560e6d34-x86-p2m-pt-tighten-conditions-of-IOMMU-mapping-updates.patch Patch131: CVE-2015-4106-xsa131-9.patch Patch137: CVE-2015-3259-xsa137.patch Patch139: xsa139-qemuu.patch @@ -647,6 +647,7 @@ Authors: %patch36 -p1 %patch37 -p1 %patch38 -p1 +%patch39 -p1 %patch131 -p1 %patch137 -p1 %patch139 -p1