[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFzoDi-WP-2Uq-33FAGfMPZbrsvg6_QWEKm1zczET539PQ@mail.gmail.com>
Date: Fri, 14 Oct 2011 16:46:42 +1200
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Andrew Lutomirski <luto@....edu>
Cc: Ingo Molnar <mingo@...e.hu>,
richard -rw- weinberger <richard.weinberger@...il.com>,
Adrian Bunk <bunk@...sta.de>,
"H. Peter Anvin" <hpa@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC] fixing the UML failure root cause
On Thu, Oct 13, 2011 at 8:40 PM, Andrew Lutomirski <luto@....edu> 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
View attachment "patch.diff" of type "text/x-patch" (1062 bytes)
Powered by blists - more mailing lists