* [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
* Re: [PATCH] uio: fix finding mm index for vma
2011-03-27 7:58 [PATCH] uio: fix finding mm index for vma Hillf Danton
@ 2011-03-28 21:33 ` Hans J. Koch
0 siblings, 0 replies; 2+ messages in thread
From: Hans J. Koch @ 2011-03-28 21:33 UTC (permalink / raw)
To: Hillf Danton; +Cc: linux-kernel, Greg KH
On Sun, Mar 27, 2011 at 03:58:19PM +0800, Hillf Danton wrote:
(Added Greg KH to Cc:)
Please Cc: Greg and me when posting patches for UIO.
> 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.
Nice improvement!
Thanks for your contribution,
Hans
>
> Signed-off-by: Hillf Danton <dhillf@gmail.com>
Signed-off-by: Hans J. Koch <hjk@hansjkoch.de>
> ---
>
> --- 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;
> }
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox