Dan Carpenter
2011-Mar-19 05:45 UTC
[patch 2/2] xen-gntdev: unlock on error path in gntdev_mmap()
We should unlock here and also decrement the number of &map->users. Signed-off-by: Dan Carpenter <error27 at gmail.com> --- I'm not very familiar with this code. Please review carefully. diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c index 017ce60..b0f9e8f 100644 --- a/drivers/xen/gntdev.c +++ b/drivers/xen/gntdev.c @@ -662,7 +662,7 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma) if (map->flags) { if ((vma->vm_flags & VM_WRITE) && (map->flags & GNTMAP_readonly)) - return -EINVAL; + goto out_unlock_put; } else { map->flags = GNTMAP_host_map; if (!(vma->vm_flags & VM_WRITE)) @@ -700,6 +700,8 @@ unlock_out: spin_unlock(&priv->lock); return err; +out_unlock_put: + spin_unlock(&priv->lock); out_put_map: if (use_ptemod) map->vma = NULL;
Konrad Rzeszutek Wilk
2011-Mar-25 15:04 UTC
[Xen-devel] [patch 2/2] xen-gntdev: unlock on error path in gntdev_mmap()
On Sat, Mar 19, 2011 at 08:45:43AM +0300, Dan Carpenter wrote:> We should unlock here and also decrement the number of &map->users. > > Signed-off-by: Dan Carpenter <error27 at gmail.com> > --- > I'm not very familiar with this code. Please review carefully.It looks right. -EINVAL is still returned so that is OK. Put it on the rc1 train.> > diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c > index 017ce60..b0f9e8f 100644 > --- a/drivers/xen/gntdev.c > +++ b/drivers/xen/gntdev.c > @@ -662,7 +662,7 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma) > if (map->flags) { > if ((vma->vm_flags & VM_WRITE) && > (map->flags & GNTMAP_readonly)) > - return -EINVAL; > + goto out_unlock_put; > } else { > map->flags = GNTMAP_host_map; > if (!(vma->vm_flags & VM_WRITE)) > @@ -700,6 +700,8 @@ unlock_out: > spin_unlock(&priv->lock); > return err; > > +out_unlock_put: > + spin_unlock(&priv->lock); > out_put_map: > if (use_ptemod) > map->vma = NULL; > > _______________________________________________ > Xen-devel mailing list > Xen-devel at lists.xensource.com > http://lists.xensource.com/xen-devel
Possibly Parallel Threads
- [patch 2/2] xen-gntdev: unlock on error path in gntdev_mmap()
- [patch 2/2] xen-gntdev: unlock on error path in gntdev_mmap()
- [PATCH v2 09/15] xen/gntdev: use mmu_range_notifier_insert
- [PATCH v2 09/15] xen/gntdev: use mmu_range_notifier_insert
- [patch 1/2] xen-gntdev: return -EFAULT on copy_to_user failure