On Fri, Apr 01, 2022 at 10:32:56AM -0400, Jason Andryuk wrote: > If domain_soft_reset_cb can't rename the save file, it doesn't call > initiate_domain_create() and calls domcreate_complete(). > > Skipping initiate_domain_create() means dcs->console_wait is > uninitialized and all 0s. > > We have: > domcreate_complete() > libxl__xswait_stop() > libxl__ev_xswatch_deregister(). > > The uninitialized slotnum 0 is considered valid (-1 is the invalid > sentinel), so the NULL pointer path to passed to xs_unwatch() which > segfaults. > > libxl__ev_xswatch_deregister:watch w=0x12bc250 wpath=(null) token=0/0: > deregister slotnum=0 > > Move dcs->console_xswait initialization into the callers of > initiate_domain_create, do_domain_create() and do_domain_soft_reset(), > so it is initialized along with the other dcs state. > > Fixes: c57e6ebd8c3e ("(lib)xl: soft reset support") > Signed-off-by: Jason Andryuk <jandr...@gmail.com>
Reviewed-by: Anthony PERARD <anthony.per...@citrix.com> Thanks, -- Anthony PERARD