Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [PATCH] sendfile compat functions on x86_64 and ia64 | Date | Fri, 5 May 2006 23:28:21 +0200 |
| |
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 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/
| |