800917b5a2
- Update to Xen 4.1.2_rc2 c/s 23152 - bnc#716695 - domUs using tap devices will not start updated multi-xvdp.patch - Upstream patches from Jan 23803-intel-pmu-models.patch 23800-x86_64-guest-addr-range.patch 23795-intel-ich10-quirk.patch 23804-x86-IPI-counts.patch - bnc#706106 - Inconsistent reporting of VM names during migration xend-migration-domname-fix.patch - bnc#712823 - L3:Xen guest does not start reliable when rebooted xend-vcpu-affinity-fix.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=143
79 lines
2.5 KiB
Diff
79 lines
2.5 KiB
Diff
# HG changeset patch
|
|
# User Ian Campbell <ian.campbell@citrix.com>
|
|
# Date 1306228450 -3600
|
|
# Node ID 23b423a3955785c9a8679c3a877c3472066a2e1f
|
|
# Parent ba8da39c67298b19c2c277e5794981b7f23bedf2
|
|
libxc: save/restore: remove static context variables
|
|
|
|
20544:ad9d75d74bd5 and 20545:cc7d66ba0dad seemingly intended to change these
|
|
global static variables into stack variables but didn't remove the static
|
|
qualifier.
|
|
|
|
Also zero the entire struct once with memset rather than clearing fields
|
|
piecemeal in two different places.
|
|
|
|
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
|
|
Acked-by: Ian Jackson <ian.jackson.citrix.com>
|
|
Committed-by: Ian Jackson <ian.jackson.citrix.com>
|
|
Acked-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
|
|
|
|
Index: xen-4.1.2-testing/tools/libxc/xc_domain_restore.c
|
|
===================================================================
|
|
--- xen-4.1.2-testing.orig/tools/libxc/xc_domain_restore.c
|
|
+++ xen-4.1.2-testing/tools/libxc/xc_domain_restore.c
|
|
@@ -1134,23 +1134,19 @@ int xc_domain_restore(xc_interface *xch,
|
|
|
|
int orig_io_fd_flags;
|
|
|
|
- static struct restore_ctx _ctx = {
|
|
- .live_p2m = NULL,
|
|
- .p2m = NULL,
|
|
- };
|
|
- static struct restore_ctx *ctx = &_ctx;
|
|
+ struct restore_ctx _ctx;
|
|
+ struct restore_ctx *ctx = &_ctx;
|
|
struct domain_info_context *dinfo = &ctx->dinfo;
|
|
|
|
pagebuf_init(&pagebuf);
|
|
memset(&tailbuf, 0, sizeof(tailbuf));
|
|
tailbuf.ishvm = hvm;
|
|
|
|
- /* For info only */
|
|
- ctx->nr_pfns = 0;
|
|
-
|
|
if ( superpages )
|
|
return 1;
|
|
|
|
+ memset(ctx, 0, sizeof(*ctx));
|
|
+
|
|
ctxt = xc_hypercall_buffer_alloc(xch, ctxt, sizeof(*ctxt));
|
|
|
|
if ( ctxt == NULL )
|
|
Index: xen-4.1.2-testing/tools/libxc/xc_domain_save.c
|
|
===================================================================
|
|
--- xen-4.1.2-testing.orig/tools/libxc/xc_domain_save.c
|
|
+++ xen-4.1.2-testing/tools/libxc/xc_domain_save.c
|
|
@@ -958,11 +958,8 @@ int xc_domain_save(xc_interface *xch, in
|
|
unsigned long mfn;
|
|
|
|
struct outbuf ob;
|
|
- static struct save_ctx _ctx = {
|
|
- .live_p2m = NULL,
|
|
- .live_m2p = NULL,
|
|
- };
|
|
- static struct save_ctx *ctx = &_ctx;
|
|
+ struct save_ctx _ctx;
|
|
+ struct save_ctx *ctx = &_ctx;
|
|
struct domain_info_context *dinfo = &ctx->dinfo;
|
|
|
|
int completed = 0;
|
|
@@ -976,6 +973,8 @@ int xc_domain_save(xc_interface *xch, in
|
|
|
|
outbuf_init(xch, &ob, OUTBUF_SIZE);
|
|
|
|
+ memset(ctx, 0, sizeof(*ctx));
|
|
+
|
|
/* If no explicit control parameters given, use defaults */
|
|
max_iters = max_iters ? : DEF_MAX_ITERS;
|
|
max_factor = max_factor ? : DEF_MAX_FACTOR;
|