xen-4.5.2-testing-src.tar.bz2 - Drop the following xen-4.5.1-testing-src.tar.bz2 552d0f49-x86-traps-identify-the-vcpu-in-context-when-dumping-regs.patch 5576f178-kexec-add-more-pages-to-v1-environment.patch 55780be1-x86-EFI-adjust-EFI_MEMORY_WP-handling-for-spec-version-2.5.patch 558bfaa0-x86-traps-avoid-using-current-too-early.patch 5592a116-nested-EPT-fix-the-handling-of-nested-EPT.patch 559b9dd6-x86-p2m-ept-don-t-unmap-in-use-EPT-pagetable.patch 559bc633-x86-cpupool-clear-proper-cpu_valid-bit-on-CPU-teardown.patch 559bc64e-credit1-properly-deal-with-CPUs-not-in-any-pool.patch 559bc87f-x86-hvmloader-avoid-data-corruption-with-xenstore-rw.patch 559bdde5-pull-in-latest-linux-earlycpio.patch 55a62eb0-xl-correct-handling-of-extra_config-in-main_cpupoolcreate.patch 55a66a1e-make-rangeset_report_ranges-report-all-ranges.patch 55a77e4f-dmar-device-scope-mem-leak-fix.patch 55c1d83d-x86-gdt-Drop-write-only-xalloc-d-array.patch 55c3232b-x86-mm-Make-hap-shadow-teardown-preemptible.patch 55dc78e9-x86-amd_ucode-skip-updates-for-final-levels.patch 55df2f76-IOMMU-skip-domains-without-page-tables-when-dumping.patch 55e43fd8-x86-NUMA-fix-setup_node.patch 55e43ff8-x86-NUMA-don-t-account-hotplug-regions.patch 55e593f1-x86-NUMA-make-init_node_heap-respect-Xen-heap-limit.patch 55f2e438-x86-hvm-fix-saved-pmtimer-and-hpet-values.patch 55f9345b-x86-MSI-fail-if-no-hardware-support.patch 5604f2e6-vt-d-fix-IM-bit-mask-and-unmask-of-FECTL_REG.patch 560a4af9-x86-EPT-tighten-conditions-of-IOMMU-mapping-updates.patch 560a7c36-x86-p2m-pt-delay-freeing-of-intermediate-page-tables.patch 560a7c53-x86-p2m-pt-ignore-pt-share-flag-for-shadow-mode-guests.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=384
91 lines
2.6 KiB
Diff
91 lines
2.6 KiB
Diff
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 <wei.liu2@citrix.com>
|
|
Cc: Ian Campbell <ian.campbell@citrix.com>
|
|
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
|
|
Acked-by: Ian Campbell <ian.campbell@citrix.com>
|
|
|
|
Index: xen-4.5.2-testing/tools/libxl/libxl.c
|
|
===================================================================
|
|
--- xen-4.5.2-testing.orig/tools/libxl/libxl.c
|
|
+++ xen-4.5.2-testing/tools/libxl/libxl.c
|
|
@@ -218,9 +218,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,
|
|
@@ -280,10 +283,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.2-testing/tools/libxl/libxl_cpuid.c
|
|
===================================================================
|
|
--- xen-4.5.2-testing.orig/tools/libxl/libxl_cpuid.c
|
|
+++ xen-4.5.2-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.2-testing/tools/libxl/libxl_utils.c
|
|
===================================================================
|
|
--- xen-4.5.2-testing.orig/tools/libxl/libxl_utils.c
|
|
+++ xen-4.5.2-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,
|