Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 4 Jun 2020 08:42:52 -0700 | Subject | Re: [patch V9 00/39] x86/entry: Rework leftovers (was part V) |
| |
On Thu, Jun 4, 2020 at 6:35 AM Peter Zijlstra <peterz@infradead.org> wrote: > > On Thu, Jun 04, 2020 at 03:29:26PM +0200, Paolo Bonzini wrote: > > On 04/06/20 15:25, Peter Zijlstra wrote: > > > It being enabled through IA32_DEBUGCTL instead of through DR7 means that > > > the current code doesn't disable it and this then means we can have > > > nested #DB again. > > > > /me bangs head on door > > > > > Who sodding throught this was a good idea ?! What happened to #AC that > > > SLD currently uses? > > > > It was per-core and (presumably) considered unfixable? > > Yeah, but I don't see how changing the exception vector helps with that. > #DB is an IST, and it must be, because of that lovely MOV SS thing. #AC > has none of that, _please_ use #AC.
x86 is not an architecture. x86 is a gauntlet through which operating system developers must run.
I think we can tolerate this particular mess -- can't we just say that a BUS LOCK DEBUG EXCEPTION is fatal if it came from kernel mode? So what if it nests inside #DB -- we can survive an oops from a corrupt context like that.
| |