Re: must-fix list, v5

Andi Kleen
2003-05-29T09:33:34Z

On Thu, May 29, 2003 at 02:32:03AM -0700, David S. Miller wrote:
> From: Andi Kleen <ak@suse.de>
> Date: 29 May 2003 11:17:36 +0200
>
> This part won't work on sparc64 because it has separate address spaces
> for user/kernel.
>
> Yes, in fact I happen to be working in this area hold on...
>
> I'm redoing Andi's x86_64 ioctl32 bug fixes more cleanly
> for sparc64 by instead using alloc_user_space().
>
> Sorry Andi, I just couldn't bring myself to allow those bogus
> artificial limits you added just to fix these bugs... :-)

I also didn't like them too much and where they looked like they could
hurt I resorted to the verify_area trick instead (which didn't work
for you...)

I believe the remaining limits are harmless, but of course it's cleaner
to not have them.

If you use the function that extensively it would be better to allow
it to nest (e.g. add a field for the current offset in task struct).
Otherwise someone will get it wrong sooner or later.
(like the sock/tw_bucket ;)

> This work also pointed out many bugs in this area which should
> be fixed by my stuff. (CDROMREAD* ioctls don't take struct cdrom_read
> they take struct cdrom_msf which is compatible, struct
> cdrom_generic_command32 was missing some members, etc. etc.)
>
> This is a 2.4.x patch but should be easy to push over to the 2.5.x
> ioctl stuff using the appropriate compat types.

Ok thanks. I will port it to my 2.4 code.

Did you test them all?

-Andi