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

Re: [Xen-devel] [PATCH v1 7/8]: PVH privcmd changes



On Mon, 8 Oct 2012 20:26:45 +0100
Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:

> On Mon, 2012-10-08 at 20:10 +0100, Mukesh Rathor wrote:
> > On Mon, 8 Oct 2012 10:21:42 +0100
> > Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > 
> > > On Fri, 2012-10-05 at 22:22 +0100, Mukesh Rathor wrote:
> > > > On Fri, 5 Oct 2012 10:21:18 +0100
> > > > Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > > > 
> > > > > On Thu, 2012-10-04 at 19:20 +0100, Mukesh Rathor wrote:
> > > > > > On Thu, 4 Oct 2012 09:50:42 +0100
> > > >         if (xen_feature(XENFEAT_auto_translated_physmap)) {
> > > >                 int sz = sizeof(vma->vm_private_data);
> > > >                 return (!__cmpxchg(&vma->vm_private_data, NULL,
> > > > NULL, sz));
> > > 
> > > Passing NULL for both old and new values can't be right, can it?
> > > Did you test with something which tries to map twice?
> > 
> > well, if it's already set to pointer, then __cmpxchg would leave
> > the ptr alone and return it. The function would then return false
> > which would fail the api. OTOH, if it's NULL, it would continue and
> > get set later.
> 
> What happens if a second thread tries to create a mapping while the
> first is between the cmpxchg and the assignment? i.e. while the value
> is still NULL.

Ah, right, I forgot multi threaded... 


_______________________________________________
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®.