Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
xen
23383-libxc-rm-static-vars.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 23383-libxc-rm-static-vars.patch of Package xen
# 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;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor