Messages in this thread | | | Date | Mon, 28 Jul 2008 08:48:41 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH] x86: Optimize tail handling for copy_user |
| |
On Mon, 28 Jul 2008, Vitaly Mayatskikh wrote: > > Reduce protection faults count in copy_user_handle_tail routine by > limiting clear length to the end of page as was suggested by Linus.
No, you did it wrong.
The page _clearing_ has to be to the end of the copy. Yes, in practice, I don't think the kernel actually very often does "copy_from_user()" calls that are page crossers in the kernel, but they do happen.
It's the _copy_ part that needn't cross pages, because we know that something faulted, and we _know_ that it wasn't the clearing.
Really: the clearing should be just a "memset()" with no limitations. It can never fault without it being a serious bug, and then we should not fix it up, but we should oops!
Linus
| |