On Wed, Aug 19, 2020 at 05:14:18PM -0700, Andy Lutomirski wrote:
> On Wed, Aug 19, 2020 at 3:47 PM Josh Poimboeuf <jpoim...@redhat.com> wrote:
> > What amazes me is that it successfully schedules back to the end of the
> > #DB handler finish and everything keeps working.
> >
> > Do we not have assertions in the scheduler to catch this?
> 
> You almost nailed it.
> 
> 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.

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?

-- 
Josh

Reply via email to