On Wed, 3 Apr 2019, Thomas Gleixner wrote: > On Tue, 2 Apr 2019, Andy Lutomirski wrote: > > > On Apr 2, 2019, at 1:29 PM, Thomas Gleixner wrote: > > >>> How about a much better fix: make the DB stack be the same size as all > > >>> the others and just have 4 of them (DB0, DB1, DB2, and DB3. After all, > > >>> overflowing from one debug stack into another is just as much of a bug as > > >>> overflowing into a different IST stack. > > >> > > >> That makes sense. > > > > > > Except that we just have two not four. > > > > > > It needs some tweaking of the ist_shift stuff in entry_64.S but that's not > > > rocket science. Famous last words.... > > > > > > > The ist_shift mess should probably be in C, but that¢s a big can of > > worms. That being said, why do we have it at all? Once upon a time, we¢d > > do ICEBP from user mode (or a legit breakpoint), then send a signal and > > hit a data breakpoint, and we¢d recurse. But we don¢t run user debug > > handlers on the IST stack at all anymore. > > > > Maybe we can convince ourselves it¢s safe? > > Maybe. Need to think about it for a while. What about kprobes. It has nasty reentrancy stuff as well... Thanks, tglx