All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] uio: fix finding mm index for vma
@ 2011-03-27  7:58 Hillf Danton
  2011-03-28 21:33 ` Hans J. Koch
  0 siblings, 1 reply; 2+ messages in thread
From: Hillf Danton @ 2011-03-27  7:58 UTC (permalink / raw)
  To: linux-kernel

When finding mm index for vma it looks more flexible that the mm could
be sparse, and
both the size of mm and the pgoff of vma could give correct selection.

Signed-off-by: Hillf Danton <dhillf@gmail.com>
---

--- a/drivers/uio/uio.c	2011-01-05 08:50:20.000000000 +0800
+++ b/drivers/uio/uio.c	2011-03-27 14:33:02.000000000 +0800
@@ -587,14 +587,12 @@ static ssize_t uio_write(struct file *fi

 static int uio_find_mem_index(struct vm_area_struct *vma)
 {
-	int mi;
 	struct uio_device *idev = vma->vm_private_data;

-	for (mi = 0; mi < MAX_UIO_MAPS; mi++) {
-		if (idev->info->mem[mi].size == 0)
+	if (vma->vm_pgoff < MAX_UIO_MAPS) {
+		if (idev->info->mem[vma->vm_pgoff].size == 0)
 			return -1;
-		if (vma->vm_pgoff == mi)
-			return mi;
+		return (int)vma->vm_pgoff;
 	}
 	return -1;
 }

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-03-28 21:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-27  7:58 [PATCH] uio: fix finding mm index for vma Hillf Danton
2011-03-28 21:33 ` Hans J. Koch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.