Message ID | 1485786798-9566-1-git-send-email-fatih.acar@gandi.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jan 30, 2017 at 03:33:18PM +0100, Fatih Acar wrote: > libxl_domain_build_info_dispose is not resetting the type field to LIBXL_DOMAIN_TYPE_INVALID. > Instead, it is memseting the struct to 0 thus when libxl_domain_build_info_init_type is called > after a dispose on the same struct, an assertion is triggered because type != LIBXL_DOMAIN_TYPE_INVALID. > Calling libxl_domain_build_info_init makes sure the type field is correctly initialized. > > Signed-off-by: Fatih Acar <fatih.acar@gandi.net> > Signed-off-by: Nikita Kozlov <nikita.kozlov@gandi.net> > Signed-off-by: Vincent Legout <vincent.legout@gandi.net> > Signed-off-by: Baptiste Daroussin <baptiste.daroussin@gandi.net> Acked-by: Wei Liu <wei.liu2@citrix.com> > --- > tools/libxl/xl_cmdimpl.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c > index 7e8a8ae..196b8a6 100644 > --- a/tools/libxl/xl_cmdimpl.c > +++ b/tools/libxl/xl_cmdimpl.c > @@ -2535,6 +2535,7 @@ static void reload_domain_config(uint32_t domid, > if (t_len > 0) { > LOG("\"xl\" configuration found, using it\n"); > libxl_domain_config_dispose(d_config); > + libxl_domain_config_init(d_config); > parse_config_data("<updated>", (const char *)t_data, > t_len, d_config); > free(t_data); > -- > bapt is my cto >
On Thu, Feb 02, 2017 at 11:26:16AM +0000, Wei Liu wrote: > On Mon, Jan 30, 2017 at 03:33:18PM +0100, Fatih Acar wrote: > > libxl_domain_build_info_dispose is not resetting the type field to LIBXL_DOMAIN_TYPE_INVALID. > > Instead, it is memseting the struct to 0 thus when libxl_domain_build_info_init_type is called > > after a dispose on the same struct, an assertion is triggered because type != LIBXL_DOMAIN_TYPE_INVALID. > > Calling libxl_domain_build_info_init makes sure the type field is correctly initialized. > > > > Signed-off-by: Fatih Acar <fatih.acar@gandi.net> > > Signed-off-by: Nikita Kozlov <nikita.kozlov@gandi.net> > > Signed-off-by: Vincent Legout <vincent.legout@gandi.net> > > Signed-off-by: Baptiste Daroussin <baptiste.daroussin@gandi.net> > > Acked-by: Wei Liu <wei.liu2@citrix.com> Applied. Ian, this should be backported to all supported versions (>= 4.5 IIRC). Wei.
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 7e8a8ae..196b8a6 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -2535,6 +2535,7 @@ static void reload_domain_config(uint32_t domid, if (t_len > 0) { LOG("\"xl\" configuration found, using it\n"); libxl_domain_config_dispose(d_config); + libxl_domain_config_init(d_config); parse_config_data("<updated>", (const char *)t_data, t_len, d_config); free(t_data);