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

Re: [Xen-devel] [PATCH v6 3/9] ioreq-server: create basic ioreq server abstraction.



>>> On 08.05.14 at 16:50, <Paul.Durrant@xxxxxxxxxx> wrote:
>> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
>> >>> On 08.05.14 at 15:23, <paul.durrant@xxxxxxxxxx> wrote:
>> > +static void hvm_unmap_ioreq_page(struct hvm_ioreq_server *s, bool_t buf)
>> >  {
>> > -    spin_lock(&iorp->lock);
>> > -
>> > -    ASSERT(d->is_dying);
>> > +    struct hvm_ioreq_page *iorp = buf ? &s->bufioreq : &s->ioreq;
>> >
>> >      destroy_ring_for_helper(&iorp->va, iorp->page);
>> > -
>> > -    spin_unlock(&iorp->lock);
>> >  }
>> 
>> Are you sure you can do without any locking (i.e. neither here nor in
>> the caller)? For the respective map function, afaict the locking simply
>> got moved to the caller. Remember that you need to also protect
>> yourself against hostile control domains...
>> 
> 
> I think it's safe as the unmap is only done during domain destruction. Could 
> this race? I would have though other stuff would break.

Yeah, if it's only during destruction, then this is perhaps fine for now.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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