Dan Carpenter
2011-Mar-19 05:44 UTC
[patch 1/2] xen-gntdev: return -EFAULT on copy_to_user failure
copy_to_user() returns the amount of data remaining to be copied. We want to return a negative error code here. The upper layers just call WARN_ON() if we return non-zero so this doesn't change the behavior. But returning -EFAULT is still cleaner. Signed-off-by: Dan Carpenter <error27 at gmail.com> 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 @@ -273,7 +273,7 @@ static int __unmap_grant_pages(struct grant_map *map, int offset, int pages) map->vma->vm_start + map->notify.addr; err = copy_to_user(tmp, &err, 1); if (err) - return err; + return -EFAULT; map->notify.flags &= ~UNMAP_NOTIFY_CLEAR_BYTE; } else if (pgno >= offset && pgno < offset + pages) { uint8_t *tmp = kmap(map->pages[pgno]);
Konrad Rzeszutek Wilk
2011-Mar-25 15:04 UTC
[Xen-devel] [patch 1/2] xen-gntdev: return -EFAULT on copy_to_user failure
On Sat, Mar 19, 2011 at 08:44:34AM +0300, Dan Carpenter wrote:> copy_to_user() returns the amount of data remaining to be copied. We > want to return a negative error code here. The upper layers just > call WARN_ON() if we return non-zero so this doesn't change the > behavior. But returning -EFAULT is still cleaner.Thank you. Will put it on rc1 train.> > Signed-off-by: Dan Carpenter <error27 at gmail.com> > > 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 > @@ -273,7 +273,7 @@ static int __unmap_grant_pages(struct grant_map *map, int offset, int pages) > map->vma->vm_start + map->notify.addr; > err = copy_to_user(tmp, &err, 1); > if (err) > - return err; > + return -EFAULT; > map->notify.flags &= ~UNMAP_NOTIFY_CLEAR_BYTE; > } else if (pgno >= offset && pgno < offset + pages) { > uint8_t *tmp = kmap(map->pages[pgno]); > > _______________________________________________ > Xen-devel mailing list > Xen-devel at lists.xensource.com > http://lists.xensource.com/xen-devel
Possibly Parallel Threads
- [patch 1/2] xen-gntdev: return -EFAULT on copy_to_user failure
- [patch 1/2] xen-gntdev: return -EFAULT on copy_to_user failure
- [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 2/2] xen-gntdev: unlock on error path in gntdev_mmap()