[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] save/restore race



> > Just ignore any new suspend request until you've got the frame list
list
> > rebuilt.
> 
> see xc_linux_save.c:
> 
>  667     live_p2m_frame_list_list =
>  668         xc_map_foreign_range(xc_handle, dom, PAGE_SIZE,
PROT_READ,
>  669 live_shinfo->arch.pfn_to_mfn_frame_list_list);
> 
> ...
> 
> 1087                 if (suspend_and_state(suspend, xc_handle, io_fd,
dom,
> &info,
> 1088                                       &ctxt)) {
> 1089                     ERROR("Domain appears not to have
suspended");
> 1090                     goto out;
> 1091                 }
> 
> We use the value long before the domain is told to suspend.

Ah, I see what you're getting at.

We should make xc_linux_save cope more gracefully with
arch.pfn_to_mfn_frame_list_list being NULL, have xc_linux_save zero the
field in shared_info before writing it out (its an MFN and not valid
anyhow), and then move the field's re-initialisation a little later in
the post_suspend function to close the race.

Best,
Ian



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.