Re: AUDIT: copy_from_user is a deathtrap.

Alan Cox
2002-05-22T15:24:53Z

> In such case, linus, here is your "reasonable" example. For PPro, it
> is faster to copy out-of-order, and if we wanted to use that for
> copy_to_user, you'd have your example.

I think there is a misunderstanding here.

Nothing in the standards says that

write(pipe_fd, halfmappedbuffer, 2*PAGE_SIZE)

must return PAGE_SIZE on an error. What it seems to say is that it if an error
is reported then no data got written down the actual pipe itself. Putting
4K into the pipe then reporting Esomething is not allowed. Copying 4K into
a buffer faulting and erroring with Efoo then throwing away the buffer is
allowed