Re: Linux 2.6.22.18

Greg KH
2008-02-11T15:53:23Z

On Mon, Feb 11, 2008 at 11:31:25AM +0000, Matthew Keenan wrote:
>
> On Sun, 2008-02-10 at 23:43 -0800, Greg Kroah-Hartman wrote:
> > diff --git a/Makefile b/Makefile
> > index 6a949eb..99c5e87 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1,7 +1,7 @@
> > VERSION = 2
> > PATCHLEVEL = 6
> > SUBLEVEL = 22
> > -EXTRAVERSION = .17
> > +EXTRAVERSION = .18
> > NAME = Holy Dancing Manatees, Batman!
> >
> > # *DOCUMENTATION*
> > diff --git a/fs/splice.c b/fs/splice.c
> > index e263d3b..dbbe267 100644
> > --- a/fs/splice.c
> > +++ b/fs/splice.c
> > @@ -1182,6 +1182,9 @@ static int get_iovec_page_array(const struct iovec __user *iov,
> > if (unlikely(!base))
> > break;
> >
> > + if (!access_ok(VERIFY_READ, base, len))
> > + break;
> > +
> > /*
> > * Get this base offset and number of pages, then map
> > * in the user pages.
>
> Maybe I'm missing something here, but is there are reason that the patch
> for 2.6.22 differs from 2.6.2[34]? The "if(unlikely(!base))" is removed
> in the latter.

the logic is a little different in 2.6.22 and earlier in regards to this
area of code. This way we are safer.

thanks,

greg k-h