[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] vm_event: make sure the domain is paused in key domctls
On 01/28/2016 04:10 PM, Andrew Cooper wrote: > On 28/01/16 13:52, Razvan Cojocaru wrote: >> This patch pauses the domain for all writes through the 'ad' >> pointer in monitor_domctl(), defers a domain_unpause() call until >> after the CRs are updated for the MONITOR_EVENT_WRITE_CTRLREG >> case, and makes sure that the domain is paused for both vm_event >> enable and disable cases in vm_event_domctl(). >> Thanks go to Andrew Cooper for his review and suggestions. >> >> Signed-off-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> > > Would you mind annotating each of the checks for d != current->domain > with /* no domain_pause(). */, which is our normal practice. Of course, no problem. > I think it might be better to move the current check for > XEN_DOMCTL_monitor_op into monitor_domctl() itself, to have all checks > together in one place. I'll move it. >> @@ -144,6 +146,8 @@ int monitor_domctl(struct domain *d, struct >> xen_domctl_monitor_op *mop) >> if ( rc ) >> return rc; >> >> + domain_pause(d); >> + >> if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE && >> mop->u.mov_to_msr.extended_capture ) >> { >> @@ -154,7 +158,6 @@ int monitor_domctl(struct domain *d, struct >> xen_domctl_monitor_op *mop) > > You will need to rework the return -EOPNOTSUPP between these two hunks > to avoid missing the domain_unpause() > > It would probably be better to pull the check forwards to before the > domain_pause(). Right, sorry I've missed that. Thanks! >> } else >> ad->monitor.mov_to_msr_extended = 0; >> >> - domain_pause(d); >> ad->monitor.mov_to_msr_enabled = !status; >> domain_unpause(d); >> break; >> @@ -196,9 +199,8 @@ int monitor_domctl(struct domain *d, struct >> xen_domctl_monitor_op *mop) >> > > The other codepaths look fine. Thanks for the review, Razvan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |