Messages in this thread | | | Date | Fri, 24 Jul 2015 11:02:51 +0200 | From | Willy Tarreau <> | Subject | Re: Dealing with the NMI mess |
| |
On Fri, Jul 24, 2015 at 10:13:26AM +0200, Peter Zijlstra wrote: > On Thu, Jul 23, 2015 at 02:59:56PM -0700, Linus Torvalds wrote: > > Hmmm. I thought watchpoints were "before the instruction" too, but > > that's just because I haven't used them in ages, and I didn't remember > > the details. I just looked it up. > > > > You're right - the memory watchpoints trigger after the instruction > > has executed, so RF isn't an issue. So yes, the only issue is > > instruction breakpoints, and those are the only ones we need to clear. > > > > And that makes it really easy. > > > > So yes, I agree. We only need to clear all kernel breakpoints. > > But but but, we can access userspace with !IF, imagine someone doing: > > local_irq_disable(); > copy_from_user_inatomic(); > > and as luck would have it, there's a breakpoint on the user memory we > just touched. And we go and disable a user breakpoint.
Then shouldn't we use !IF && RSP matches NMI's stack ? User-space cannot control the two at once.
Willy
| |