On Thu, Oct 13, 2011 at 8:40 PM, Andrew Lutomirski wrote: > > How does that work?  The tricky case is when one of those three words > spans a page boundary if the access to the first page is valid, but > the access to the second page is not.  When that happens, if we report > the fault as coming from the first page, then UML is likely to get > think the fault was spurious and enter an infinite loop. Hmm. Gaah, I just find that memcpy loop disgusting. We already have that ugly "uaccess_error" crap in handle_exception(), we might as well do something like the attached and just say "hey, now you can catch the page fault information for a get_user/put_user fault". Isn't that much nicer? You don't even have to check each word, you can just take the last exception info from the thread-info. Linus