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

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



On Fri, 2012-09-21 at 20:21 +0100, Mukesh Rathor wrote:
> +static int pvh_privcmd_resv_pfns(struct vm_area_struct *vma, int numpgs)
...
> +       pvhp->pi_num_pgs = numpgs;
> +       BUG_ON(vma->vm_private_data != (void *)1);
> +       vma->vm_private_data = pvhp; 

How does this interact with:

static int privcmd_enforce_singleshot_mapping(struct vm_area_struct *vma)
{
        return (xchg(&vma->vm_private_data, (void *)1) == NULL);
}

If someone tries to map a second time then won't this correct the pvhp
in vm_private_data by resetting it to 1? Then when the original mapping
is torn down things all fall apart?

Perhaps we need a cmpxchg here? Or to rework the callers a little bit
perhaps.

Ian.





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