lkml.org 
[lkml]   [2008]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/4] pagemap: Require reads of /proc/pid/pagemap to be multiples of 8 (v2 of series)
On Thu, 05 Jun 2008 15:51:59 -0500
Matt Mackall <mpm@selenic.com> wrote:

>
> On Thu, 2008-06-05 at 12:37 -0700, Andrew Morton wrote:
> > On Thu, 5 Jun 2008 14:38:10 -0400
> > "Thomas Tuttle" <ttuttle@google.com> wrote:
> >
> > > This matches the behavior of /proc/kpage{count,flags}, and simplifies
> > > the logic a bit.
> > >
> > > I also changed out and end in struct pagemapread to be u64* instead of
> > > char*, which makes put_user work the way it was intended. (Before, it
> > > was only copying the bottom byte of a pagemap entry, because the target
> > > of the copy was a char*.)
> >
> > This one is for 2.6.25.x?
>
> This one is for 2.6.26. Something more like this for 2.6.25.x:
>
> Because put_user bases its copy size on the size of the target pointer,
> not the source, it was copying only 1 byte rather than the intended 8.
>
> Spotted-by: Thomas Tuttle <ttuttle@google.com>
> Signed-off-by: Matt Mackall <mpm@selenic.com>
>
> diff -r 5030869d9ded fs/proc/task_mmu.c
> --- a/fs/proc/task_mmu.c Thu Jun 05 04:01:40 2008 +0000
> +++ b/fs/proc/task_mmu.c Thu Jun 05 15:45:00 2008 -0500
> @@ -531,7 +531,7 @@
> return PM_END_OF_BUFFER;
> }
>
> - if (put_user(pfn, pm->out))
> + if (put_user(pfn, (u64 *)pm->out))
> return -EFAULT;
> pm->out += PM_ENTRY_BYTES;
> return 0;
>
>

OK. I can't merge that I guess, so could someome please prepare a
formal patch for the stable guys? Preferably one which remembers
to add __user to that cast :)


\
 
 \ /
  Last update: 2008-06-06 00:09    [W:0.373 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site