Re: [REGRESSION 5.8] x86/entry: DR0 break-on-write not working

From: peterz
Date: Thu Aug 20 2020 - 04:36:30 EST


On Wed, Aug 19, 2020 at 10:46:36PM -0500, Josh Poimboeuf wrote:
> On Wed, Aug 19, 2020 at 05:14:18PM -0700, Andy Lutomirski wrote:

> > I'm pretty sure you have the buggy sequence of events right, but for
> > the wrong reason. There's nothing wrong with scheduling when
> > delivering SIGTRAP, but it's definitely wrong to blindly save and
> > restore DR7 around scheduling and around ptrace invocations. Remember
> > this is an entry from user mode, so it runs on the user stack.

*groan*, yeah that's broken :/

> Wow, I had no idea user #DB's run on the task stack. The scheduling
> from #DB blew my mind :-) What's the purpose of that?

At the very least that vm86 junk needs to I think. Also -RT needs it to
send signals.