>>> On 02.04.17 at 14:24, <yu.c.zh...@linux.intel.com> wrote: > --- a/xen/arch/x86/mm/p2m.c > +++ b/xen/arch/x86/mm/p2m.c > @@ -317,6 +317,15 @@ int p2m_set_ioreq_server(struct domain *d, > if ( p2m->ioreq.server != NULL ) > goto out; > > + /* > + * It is possible that an ioreq server has just been unmapped, > + * released the spin lock, with some p2m_ioreq_server entries > + * in p2m table remained. We shall refuse another ioreq server > + * mapping request in such case. > + */ > + if ( read_atomic(&p2m->ioreq.entry_count) ) > + goto out;
So this produces the same -EINVAL as the earlier check in context above. I think it would be nice if neither did - -EINUSE for the first (which we don't have, so -EOPNOTSUPP would seem the second bets option there) and -EBUSY for the second would seem more appropriate. If you agree, respective adjustments could be done while committing, if no other reason for a v11 arises. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel