On Friday 05 May 2006 22:44, Alexey Toptygin wrote:
> On Fri, 5 May 2006, Andi Kleen wrote:
>
> > With your change there wouldn't be any sign extension and rw_verify_area
> > couldn't reject negative values them anymore.
> >
> > I think it would be a wrong change because it would differ from a native
> > 32bit kernel.
>
> No...
>
> On a 32 bit kernel (and on a 64 bit kernel using the native interface),
> count is passed to sendfile as unsigned. rw_verify_area explicitly casts
> to signed
To a 64bit signed.
> before checking for negativeness. The only place anywhere in the
> kernel that count is signed (other than where rw_verify area explicitly
> casts it for one test) is in the declaration of sys32_sendfile in the
> x86_64 compat code. I'm pretty sure it's supposed to be unsigned there
> too, and the current code is a typo.
It's a 32bit signed.
Somehow the 32bit signed has to become a 64bit signed to be caught
by rw_verify_area(). The only place that can do that is the compat
layer.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]