On 09/12/2019 16:19, Jan Beulich wrote: > On 05.12.2019 23:30, Andrew Cooper wrote: >> --- a/xen/arch/x86/domctl.c >> +++ b/xen/arch/x86/domctl.c >> @@ -326,9 +326,12 @@ long arch_do_domctl( >> >> switch ( domctl->cmd ) >> { >> - >> case XEN_DOMCTL_shadow_op: >> ret = paging_domctl(d, &domctl->u.shadow_op, u_domctl, 0); >> + /* >> + * Continuations from paging_domctl() switch index to arch_1, and >> + * can't use the common domctl continuation path. >> + */ >> if ( ret == -ERESTART ) >> return hypercall_create_continuation(__HYPERVISOR_arch_1, >> "h", u_domctl); > There's also XEN_DOMCTL_getpageframeinfo3 down from here which > now invokes a continuation.
Fixed. > >> @@ -1080,6 +1068,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) >> u_domctl) >> if ( copyback && __copy_to_guest(u_domctl, op, 1) ) >> ret = -EFAULT; >> >> + if ( ret == -ERESTART ) >> + ret = hypercall_create_continuation(__HYPERVISOR_domctl, >> + "h", u_domctl); > You may want to mention in the description the bug you fix here: > Previously the -EFAULT returning visible in context should have > canceled any active continuation. That would be presuming I'd even spotted it... Having looked though the paths once again, I don't think there was a path which continued and had copyback set, so this is at most a latent bug. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel